Function at 0x100f4150
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
mov eax, dword [0x101e6040]
xor eax, esp
mov dword [esp + 0x98], eax
mov eax, dword [ebp + 0x1c]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
mov dword [esp + 0x28], edx
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
push edi
mov edi, dword [ebx]
mov dword [esp + 0x3c], edi
mov edi, dword [ecx]
mov dword [ebx], 0
mov dword [ecx], 0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], edi
mov dword [eax], 0
jmp 0x100f41b9
mov edx, dword [esp + 0x10]
mov ecx, edi
mov edi, dword [esp + 0x18]
cmp dword [esi], 6
jne 0x100f4458
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
sub edi, dword [ecx]
mov ecx, dword [esi + 0x140]
sub ebx, dword [eax]
mov eax, dword [ebp + 0x18]
mov edx, dword [esi + 0x144]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x34], eax
mov eax, ecx
and eax, edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], edi
mov dword [esp + 0x1c], 0
cmp eax, 0xffffffff
je 0x100f423d
sub ecx, dword [esi + 0x18]
sbb edx, dword [esi + 0x1c]
xor eax, eax
cmp eax, edx
jb 0x100f421f
ja 0x100f4213
cmp edi, ecx
jb 0x100f421f
mov dword [esp + 0x34], 1
mov dword [esp + 0x30], ecx
or ecx, edx
jne 0x100f423d
mov eax, dword [esi + 0x148]
cmp eax, dword [esi + 0x20]
jne 0x100f423d
mov eax, dword [esi + 0x14c]
cmp eax, dword [esi + 0x24]
je 0x100f4c64
mov ecx, dword [esi + 0x148]
mov eax, ecx
mov edx, dword [esi + 0x14c]
and eax, edx
cmp eax, 0xffffffff
je 0x100f4277
sub ecx, dword [esi + 0x20]
sbb edx, dword [esi + 0x24]
xor eax, eax
cmp eax, edx
jb 0x100f4277
ja 0x100f4264
cmp ebx, ecx
jb 0x100f4277
mov dword [esp + 0x1c], 1
mov eax, 1
mov dword [esp + 0x28], ecx
jmp 0x100f427b
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x2c]
lea ecx, [esi + 0x68]
push eax
push dword [esp + 0x38]
lea eax, [esp + 0x38]
mov edx, ebx
push eax
push dword [esp + 0x1c]
lea eax, [esp + 0x38]
push dword [esp + 0x2c]
push eax
xor eax, eax
cmp dword [esi + 0x2f8], eax
cmovne edx, eax
call fcn.100f36d0
mov ecx, dword [esi + 0x88]
mov edx, eax
mov eax, dword [esp + 0x3c]
add esp, 0x18
mov dword [esp + 0x20], edx
mov dword [eax], ecx
mov ecx, dword [esi + 0x2f8]
test ecx, ecx
je 0x100f42d4
mov edi, dword [esi + 0x300]
add edi, ecx
jmp 0x100f42d6
mov edi, ebx
mov eax, dword [esi + 0x1d8]
mov ebx, dword [esp + 0x28]
sub eax, 1
je 0x100f432b
sub eax, 3
je 0x100f4302
sub eax, 6
jne 0x100f4349
push ebx
lea ecx, [esi + 0x1e8]
mov edx, edi
call fcn.1010a060
add esp, 4
jmp 0x100f4345
push 0x101ed1b0
push dword [esi + 0x1e4]
mov edx, ebx
mov ecx, edi
push dword [esi + 0x1e0]
call dword [0x101f5578]
mov dword [esi + 0x1e0], eax
mov dword [esi + 0x1e4], edx
jmp 0x100f4345
mov ecx, dword [esi + 0x1dc]
mov edx, edi
push 0x101eb0a8
push ebx
call dword [0x101eb0a4]
mov dword [esi + 0x1dc], eax
mov edx, dword [esp + 0x20]
cmp dword [esi + 0x2f8], 0
jne 0x100f4356
add dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x14]
add dword [esi + 0x300], ebx
mov ecx, dword [esp + 0x30]
add dword [esp + 0x10], ecx
add dword [eax], ecx
xor eax, eax
add dword [esi + 0x18], ecx
adc eax, dword [esi + 0x1c]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x38]
add dword [eax], ebx
mov eax, 0
add ebx, dword [esi + 0x20]
mov dword [esi + 0x20], ebx
adc eax, dword [esi + 0x24]
mov dword [esp + 0x1c], eax
mov dword [esi + 0x24], eax
test edx, edx
jne 0x100f4c7e
mov edx, dword [esp + 0x24]
mov ecx, dword [edx]
cmp ecx, 1
jne 0x100f4c43
movzx ecx, word [esi + 0x10]
and ecx, 0xf
jne 0x100f43b4
xor edi, edi
jmp 0x100f43cb
dec ecx
mov eax, 0xaaaaaaab
mul ecx
mov eax, dword [esp + 0x1c]
mov edi, 4
shr edx, 1
mov ecx, edx
shl edi, cl
mov ecx, dword [esi + 0x14]
push eax
xor eax, eax
add ecx, edi
push ebx
adc eax, eax
add ecx, dword [esi + 0x18]
adc eax, dword [esi + 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.100f40a0
mov eax, dword [esp + 0x34]
add esp, 0x10
mov dword [esi], 7
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [eax], 0
mov ecx, dword [esi + 0x140]
mov eax, ecx
mov edx, dword [esi + 0x144]
and eax, edx
cmp eax, 0xffffffff
je 0x100f442d
cmp ecx, dword [esi + 0x18]
jne 0x100f4c64
cmp edx, dword [esi + 0x1c]
jne 0x100f4c64
mov ecx, dword [esi + 0x148]
mov eax, ecx
mov edx, dword [esi + 0x14c]
and eax, edx
cmp eax, 0xffffffff
je 0x100f4454
cmp ecx, dword [esi + 0x20]
jne 0x100f4c64
cmp edx, dword [esi + 0x24]
jne 0x100f4c64
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [edi]
sub ebx, ecx
jne 0x100f446f
cmp dword [esi], 7
jne 0x100f4cec
mov eax, dword [esi]
cmp eax, 7
ja case.0x100f447a.6
jmp dword [eax*4 + 0x100f4d48]
mov ecx, dword [esi + 4]
cmp ecx, 0xc
jae 0x100f44c3
cmp ecx, 6
jae 0x100f449c
mov al, byte [edx]
cmp al, byte [ecx + 0x101a4328]
jne 0x100f4d2e
cmp dword [esi + 0x2f0], 0
jne 0x100f4cbb
mov al, byte [edx]
inc edx
mov byte [esi + ecx + 0x324], al
mov ecx, edi
inc dword [esi + 4]
mov dword [esp + 0x10], edx
inc dword [ecx]
jmp 0x100f41b5
movzx eax, byte [esi + 0x32a]
lea edx, [esi + 0x32a]
movzx ecx, byte [esi + 0x32b]
shl ax, 8
or cx, ax
push 0x101eb0a8
mov word [esi + 0x10], cx
mov ecx, 0xffffffff
push 2
call dword [0x101eb0a4]
not eax
cmp eax, dword [esi + 0x32c]
jne 0x100f4c95
movzx eax, word [esi + 0x10]
mov ecx, 0xf
cmp cx, ax
sbb ecx, ecx
and ecx, 4
cmp eax, 0xf
ja 0x100f4c9a
add dword [esi + 0x48], 1
mov dword [esi + 0x30], 0
adc dword [esi + 0x4c], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x268], 0x10109b20
mov dword [esi + 0x270], 0
mov dword [esi + 0x274], 0
mov dword [esi + 0x288], 0x6a09e667
mov dword [esi + 0x28c], 0xbb67ae85
mov dword [esi + 0x290], 0x3c6ef372
mov dword [esi + 0x294], 0xa54ff53a
mov dword [esi + 0x298], 0x510e527f
mov dword [esi + 0x29c], 0x9b05688c
mov dword [esi + 0x2a0], 0x1f83d9ab
mov dword [esi + 0x2a4], 0x5be0cd19
mov dword [esi], 5
mov dword [esi + 4], 0
jmp 0x100f41af
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x100f46de
movzx eax, byte [edx]
inc edx
mov byte [esi + 0x324], al
lea eax, [ecx + 1]
mov ecx, edi
mov dword [esi + 4], eax
mov dword [esp + 0x10], edx
inc dword [ecx]
mov al, byte [esi + 0x324]
test al, al
jne 0x100f46cc
cmp dword [esi + 0x2f4], 0
jne 0x100f4c64
mov edx, dword [esi + 0x28]
xor edi, edi
mov ecx, dword [esi + 0x2c]
mov al, dl
lea edi, [edi + 1]
or al, 0x80
shrd edx, ecx, 7
mov byte [esi + edi + 0x324], al
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x100f4606
and byte [edi + esi + 0x324], 0x7f
lea eax, [edi + 1]
add dword [esi + 0x30], eax
lea edi, [esi + 0x268]
lea edx, [esi + 0x304]
mov dword [esi + 0xc], eax
adc dword [esi + 0x34], 0
mov ecx, edi
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], 0
call fcn.1010a0f0
push 0x101eb0a8
mov dword [edi], 0x10109b20
lea edx, [esi + 0x324]
mov dword [edi + 8], 0
or ecx, 0xffffffff
mov dword [edi + 0xc], 0
mov dword [edi + 0x20], 0x6a09e667
mov dword [edi + 0x24], 0xbb67ae85
mov dword [edi + 0x28], 0x3c6ef372
mov dword [edi + 0x2c], 0xa54ff53a
mov dword [edi + 0x30], 0x510e527f
mov dword [edi + 0x34], 0x9b05688c
mov dword [edi + 0x38], 0x1f83d9ab
mov dword [edi + 0x3c], 0x5be0cd19
push dword [esi + 0xc]
call dword [0x101eb0a4]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x60], eax
mov dword [esi], 1
jmp 0x100f41b5
movzx eax, al
lea eax, [eax*4 + 4]
mov dword [esi + 0x14], eax
jmp 0x100f41b5
mov edi, dword [esi + 0x14]
cmp ecx, edi
je 0x100f4717
sub edi, ecx
lea eax, [ecx + 0x324]
cmp edi, ebx
cmova edi, ebx
add eax, esi
push edi
push edx
push eax
call fcn.101528b0
mov ecx, dword [esp + 0x20]
add esp, 0xc
add dword [esi + 4], edi
mov edx, dword [esp + 0x10]
add dword [ecx], edi
add edx, edi
mov dword [esp + 0x10], edx
jmp 0x100f41b5
lea ebx, [esi + 0x140]
lea edx, [esi + 0x324]
mov ecx, ebx
call fcn.100f3a50
test eax, eax
jne 0x100f4d33
movzx ecx, byte [ebx + 0x10]
and ecx, 3
mov eax, ecx
shl eax, 5
cmp dword [eax + ebx + 0x18], 0x21
jne 0x100f4cd2
cmp dword [eax + ebx + 0x1c], 0
jne 0x100f4cd2
cmp dword [eax + ebx + 0x20], 1
jne 0x100f4cd2
cmp byte [eax + ebx + 0x24], 0x28
ja 0x100f4cd2
xor edi, edi
test ecx, ecx
je 0x100f47b9
lea eax, [ebx + 0x20]
mov ebx, ecx
mov edx, dword [eax - 8]
mov ecx, dword [eax - 4]
cmp edx, 3
jne 0x100f4789
test ecx, ecx
jne 0x100f4789
cmp dword [eax], 1
jmp 0x100f47ab
add edx, 0xfffffffd
adc ecx, 0xffffffff
test ecx, ecx
ja 0x100f4cd2
jb 0x100f47a2
cmp edx, 7
ja 0x100f4cd2
mov ecx, dword [eax]
test ecx, ecx
je 0x100f47b1
cmp ecx, 4
jne 0x100f4cd2
inc edi
add eax, 0x20
cmp edi, ebx
jb 0x100f4775
add dword [esi + 0x58], 1
lea ecx, [esi + 0x1d8]
movzx edx, word [esi + 0x10]
adc dword [esi + 0x5c], 0
and edx, 0xf
mov dword [esi], 6
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
call fcn.101255b0
cmp dword [esi + 0x2e8], 0
jne 0x100f4cb1
push dword [esi + 0x2fc]
lea edx, [esi + 0x140]
push dword [esi + 0x2f8]
lea ecx, [esi + 0x68]
call fcn.100f3c20
add esp, 8
test eax, eax
jne 0x100f4d33
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x100f41b5
mov eax, dword [esi + 0x18]
add eax, dword [esi + 8]
test al, 3
je 0x100f4879
test ebx, ebx
je 0x100f4cec
lea eax, [ecx + 1]
mov ecx, edi
mov dword [ecx], eax
inc dword [esi + 8]
mov al, byte [edx]
inc edx
mov dword [esp + 0x10], edx
test al, al
je 0x100f41b5
mov eax, 3
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x98]
xor ecx, esp
call fcn.10151433
mov esp, ebp
pop ebp
ret
movzx ecx, word [esi + 0x10]
and ecx, 0xf
jne 0x100f4886
xor edi, edi
jmp 0x100f4899
dec ecx
mov eax, 0xaaaaaaab
mul ecx
mov edi, 4
shr edx, 1
mov ecx, edx
shl edi, cl
mov ecx, dword [esi + 4]
mov eax, edi
sub eax, ecx
je 0x100f48e9
test ebx, ebx
je 0x100f4cec
cmp eax, ebx
cmova eax, ebx
push eax
push dword [esp + 0x14]
mov dword [esp + 0x24], eax
lea eax, [ecx + 0x324]
add eax, esi
push eax
call fcn.101528b0
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add dword [esi + 4], eax
add edx, eax
add dword [ecx], eax
mov dword [esp + 0x10], edx
cmp edi, dword [esi + 4]
jne 0x100f41b5
lea ecx, [esi + 0x1d8]
mov dword [esi], 5
lea edx, [esp + 0x60]
mov dword [esi + 4], 0
call fcn.10125620
test eax, eax
je 0x100f496b
lea edx, [esi + 0x324]
lea ecx, [esp + 0x60]
sub edi, 4
jb 0x100f4929
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f492e
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100f4918
cmp edi, 0xfffffffc
je 0x100f496b
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100f485f
cmp edi, 0xfffffffd
je 0x100f496b
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100f485f
cmp edi, 0xfffffffe
je 0x100f496b
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100f485f
cmp edi, 0xffffffff
je 0x100f496b
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100f485f
cmp dword [esi + 0x2f4], 0
jne 0x100f4d0d
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x100f41b5
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0xc]
jae 0x100f49b3
inc dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [edi], eax
mov eax, dword [esi + 4]
mov dl, byte [edx]
mov cl, byte [esi + eax + 0x324]
inc eax
mov dword [esi + 4], eax
cmp dl, cl
jne 0x100f485f
jmp 0x100f41af
mov edi, dword [esi + 0x3c]
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x30]
cmp edi, edx
ja 0x100f4a20
jb 0x100f49c9
cmp ecx, eax
jae 0x100f4a20
sub eax, ecx
sbb edx, edi
xor ecx, ecx
cmp ecx, edx
jb 0x100f49db
ja 0x100f49d9
cmp ebx, eax
jbe 0x100f49db
mov ebx, eax
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + 0x60]
push 0x101eb0a8
push ebx
call dword [0x101eb0a4]
mov edx, dword [esp + 0x10]
lea ecx, [esi + 0x268]
push ebx
mov dword [esi + 0x60], eax
call fcn.1010a060
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, dword [esp + 0x10]
add edx, ebx
mov dword [esp + 0x10], edx
add dword [ecx], ebx
add dword [esi + 0x38], ebx
adc dword [esi + 0x3c], 0
jmp 0x100f41b5
and ecx, 3
or ecx, 0
je 0x100f4a72
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x60]
mov dl, byte [eax]
inc eax
mov dword [esp + 0x10], eax
movzx eax, dl
xor eax, ecx
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x101eb0a8]
mov dword [esi + 0x60], ecx
mov ecx, dword [esp + 0x14]
inc dword [ecx]
add dword [esi + 0x38], 1
adc dword [esi + 0x3c], 0
add dword [esi + 0x30], 1
adc dword [esi + 0x34], 0
test dl, dl
jne 0x100f485f
mov edx, dword [esp + 0x10]
jmp 0x100f41b5
add eax, 4
mov dword [esi], 2
lea ecx, [esi + 0x268]
mov dword [esi + 0x30], eax
adc edx, 0
mov dword [esi + 4], 0
mov dword [esi + 0x34], edx
lea edx, [esp + 0x40]
call fcn.1010a0f0
lea edx, [esi + 0x304]
mov edi, 0x1c
lea ecx, [esp + 0x40]
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100f485f
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100f4ab0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x100f41b5
cmp dword [esi + 4], 4
jae 0x100f4af6
lea eax, [ecx + 1]
mov dword [edi], eax
mov ecx, dword [esi + 4]
mov al, byte [edx]
mov byte [esi + ecx + 0x324], al
inc dword [esi + 4]
inc edx
mov dword [esp + 0x10], edx
jmp case.0x100f447a.6
mov eax, dword [esi + 0x60]
not eax
mov dword [esi], 3
mov dword [esi + 4], 0
cmp eax, dword [esi + 0x324]
jne 0x100f485f
jmp case.0x100f447a.6
mov eax, dword [esi + 4]
mov edi, 0xc
sub edi, eax
cmp edi, ebx
cmova edi, ebx
add eax, 0x324
push edi
push edx
add eax, esi
push eax
call fcn.101528b0
mov ecx, dword [esp + 0x20]
add esp, 0xc
add dword [esi + 4], edi
mov edx, dword [esp + 0x10]
add edx, edi
add dword [ecx], edi
cmp dword [esi + 4], 0xc
mov edi, dword [esp + 0x18]
mov dword [esp + 0x10], edx
jne 0x100f41b9
add dword [esi + 0x50], 1
mov edx, 4
movzx edi, word [esi + 0x10]
adc dword [esi + 0x54], 0
mov dword [esi], 4
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
mov eax, dword [esi + 0x328]
mul edx
add eax, 4
adc edx, 0
cmp dword [esi + 0x30], eax
jne 0x100f485f
cmp dword [esi + 0x34], edx
jne 0x100f485f
push 0x101eb0a8
push 6
lea edx, [esi + 0x328]
or ecx, 0xffffffff
call dword [0x101eb0a4]
not eax
cmp dword [esi + 0x324], eax
jne 0x100f485f
movzx ecx, byte [esi + 0x32c]
movzx eax, byte [esi + 0x32d]
shl cx, 8
or cx, ax
cmp di, cx
jne 0x100f485f
cmp byte [esi + 0x32e], 0x59
jne 0x100f485f
cmp byte [esi + 0x32f], 0x5a
jne 0x100f485f
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x100f41b5
cmp byte [edx], 0
je 0x100f4c2a
test byte [esi + 0x40], 3
jne 0x100f4d2e
mov dword [esi + 4], 0
mov dword [esi], 0
jmp case.0x100f447a.6
lea eax, [ecx + 1]
inc edx
mov ecx, edi
mov dword [esp + 0x10], edx
mov dword [ecx], eax
add dword [esi + 0x40], 1
adc dword [esi + 0x44], 0
jmp 0x100f41b5
mov eax, dword [esi + 0x140]
cmp eax, dword [esi + 0x18]
jne 0x100f4cbb
mov eax, dword [esi + 0x144]
cmp eax, dword [esi + 0x1c]
jne 0x100f4cbb
cmp ecx, 3
jne 0x100f4cbb
mov dword [edx], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x98]
xor ecx, esp
call fcn.10151433
mov esp, ebp
pop ebp
ret
mov eax, edx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x98]
xor ecx, esp
call fcn.10151433
mov esp, ebp
pop ebp
ret
mov ecx, 0x11
mov eax, ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x98]
xor ecx, esp
call fcn.10151433
mov esp, ebp
pop ebp
ret
mov dword [esi + 0x2ec], 1
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x98]
xor ecx, esp
call fcn.10151433
mov esp, ebp
pop ebp
ret
mov eax, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x98]
xor ecx, esp
call fcn.10151433
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x24]
mov dword [eax], 3
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x98]
xor ecx, esp
call fcn.10151433
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x24]
mov dword [eax], 1
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x98]
xor ecx, esp
call fcn.10151433
mov esp, ebp
pop ebp
ret
mov eax, 0x11
mov ecx, dword [esp + 0xa4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10151433
mov esp, ebp
pop ebp
ret