Function at 0x505590
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
lea esi, [ebx + 0x18]
nop
mov ecx, dword [ebp + 0x10]
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x60], eax
push dword [ecx]
push 0xa
push eax
call fcn.005270c0
mov edi, eax
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x64], edi
test edi, edi
je 0x5062b2
sub edi, dword [esi + 0x5c]
inc edi
sub dword [eax], edi
mov eax, dword [esi + 0x64]
inc eax
mov dword [esi + 0x5c], eax
sub eax, dword [esi + 0x60]
push eax
push esi
push ebx
call fcn.00506510
add esp, 0xc
test eax, eax
jne 0x5062f3
cmp dword [esi + 0x50], 0
mov eax, dword [esi + 0x54]
mov dword [esi + 0x64], eax
mov eax, dword [ebx + 0x554]
mov dword [esi + 0x68], eax
jne 0x50561f
cmp dword [esi + 0x58], 5
jbe 0x50561f
push dword [ebx + 0x554]
mov eax, dword [ebp + 0xc]
push eax
push ebx
call fcn.00506370
add esp, 0xc
test eax, eax
je 0x50619b
mov edx, dword [esi + 0x68]
mov al, byte [edx]
cmp al, 0xa
je 0x505fa1
cmp al, 0xd
je 0x505fa5
mov ecx, dword [esi + 0x50]
lea eax, [ecx + 1]
mov dword [esi + 0x50], eax
test ecx, ecx
jne 0x505839
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x214]
mov eax, dword [eax + 0x3c]
test al, 1
je 0x505787
lea eax, [esi + 0x78]
push eax
lea edi, [ecx + 0x118]
push edi
lea eax, [ebp - 4]
push eax
push str._HTTP__d._d__3d
push edx
call fcn.00417870
add esp, 0x14
cmp eax, 3
jne 0x50573f
mov eax, dword [ebp - 4]
lea eax, [eax + eax*4]
add eax, eax
add dword [edi], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0x78]
mov dword [ebx + 0x86ac], eax
mov eax, dword [edi]
mov dword [ebx + 0x86b4], eax
mov eax, dword [ebx + 0x8640]
test eax, eax
je 0x5056ab
cmp eax, dword [edi]
jle 0x5056b3
mov eax, dword [edi]
mov dword [ebx + 0x8640], eax
cmp dword [ebx + 0x2b8], 0
je 0x505714
mov edx, dword [esi + 0x78]
cmp edx, 0x190
jl 0x505714
cmp edx, 0x191
jne 0x5056d8
cmp dword [ecx + 0x1b0], 0
jne 0x505714
cmp edx, 0x197
jne 0x5056e9
cmp dword [ecx + 0x1b4], 0
jne 0x505714
mov eax, dword [ebx + 0x8670]
or eax, dword [ebx + 0x8674]
je 0x506295
cmp dword [ebx + 0x218], 1
jne 0x506295
cmp edx, 0x1a0
jne 0x506295
mov eax, dword [edi]
cmp eax, 0xa
jne 0x5057da
push str.HTTP_1.0__assume_close_after_body_n
push ebx
call fcn.004ee4d0
mov eax, dword [ebp + 0xc]
add esp, 8
mov dword [eax + 0x1a0], 1
jmp 0x5057f2
lea eax, [esi + 0x78]
push eax
push str._HTTP__3d
push dword [esi + 0x68]
call fcn.00417870
add esp, 0xc
mov dword [edi], 0xa
test eax, eax
jne 0x505689
push dword [esi + 0x68]
push ebx
call fcn.00506300
add esp, 8
test eax, eax
je 0x5062ea
mov dword [esi + 0x78], 0xc8
mov dword [edi], 0xa
jmp 0x505689
test eax, 0x40000
je 0x5062ea
lea eax, [esi + 0x78]
push eax
lea edi, [ecx + 0x11c]
push edi
lea eax, [ebp - 8]
push eax
push str._RTSP__d._d__3d
push edx
call fcn.00417870
add esp, 0x14
cmp eax, 3
jne 0x5062ea
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x118], 0xb
lea eax, [eax + eax*4]
add eax, eax
add dword [edi], eax
lea edi, [ecx + 0x118]
jmp 0x50568c
cmp eax, 0xb
jl 0x5057f2
cmp dword [ecx + 0x1a0], 0
jne 0x5057f2
mov dword [ecx + 0x25c], 1
mov eax, dword [esi + 0x78]
sub eax, 0xcc
je 0x505801
sub eax, 0x64
jne 0x505839
cmp dword [ebx + 0x208], 0
je 0x505814
mov dword [ebx + 0x86bc], 1
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0xb4], 1
cmp dword [esi + 0xb4], 0
jne 0x505943
cmp dword [ebx + 0x318], 0
jne 0x505943
push 0xf
push dword [esi + 0x68]
push str.Content_Length:
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x505943
mov eax, dword [esi + 0x68]
push 0xa
add eax, 0xf
push 0
push eax
call fcn.00536076
mov ecx, dword [ebx + 0x280]
add esp, 0xc
mov edi, dword [ebx + 0x284]
or ecx, edi
je 0x5058a6
cmp edx, edi
jg 0x5061cc
jl 0x5058a6
cmp eax, dword [ebx + 0x280]
ja 0x5061cc
test edx, edx
jl 0x505924
jg 0x5058b0
test eax, eax
jb 0x505924
push edx
push eax
push ebx
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
call fcn.00506e40
add esp, 0xc
mov edi, dword [ebp + 0xc]
xor eax, eax
cmp dword [ebx + 0x2c8], eax
setne al
add eax, 2
cmp dword [ebx + 0x2e4], 0
mov dword [ebp + 8], eax
je 0x5058f8
push edi
push dword [esi + 0x58]
push dword [esi + 0x68]
push 1
push ebx
call fcn.004ee350
mov eax, dword [ebp + 8]
add esp, 0x14
push dword [esi + 0x58]
push dword [esi + 0x68]
push eax
push edi
call fcn.004ee1f0
add esp, 0x10
test eax, eax
jne 0x5062f3
mov eax, dword [esi + 0x58]
add dword [ebx + 0x86c0], eax
mov eax, dword [esi + 0x58]
add dword [ebx + 0x48], eax
jmp 0x50616a
mov edi, dword [ebp + 0xc]
push edx
push eax
push str.Negative_content_length:__lld__closing_after_transfer_n
push ebx
mov dword [edi + 0x1a0], 1
call fcn.004ee4d0
add esp, 0x10
jmp 0x5058c9
push 0xd
push dword [esi + 0x68]
push str.Content_Type:
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x5059ab
push dword [esi + 0x68]
call fcn.005063c0
mov edi, eax
add esp, 4
test edi, edi
je 0x5061e6
cmp byte [edi], 0
jne 0x505982
push edi
call dword [0x581bfc]
add esp, 4
jmp 0x5058c6
mov eax, dword [ebx + 0x86d4]
test eax, eax
je 0x5059a0
push eax
call dword [0x581bfc]
add esp, 4
mov dword [ebx + 0x86d4], 0
mov dword [ebx + 0x86d4], edi
jmp 0x5058c6
mov edi, dword [ebp + 0xc]
cmp dword [edi + 0x118], 0xa
jne 0x5059f6
cmp dword [edi + 0x1ac], 0
je 0x5059f6
push str.keep_alive
push str.Proxy_Connection:
push dword [esi + 0x68]
call fcn.00505080
add esp, 0xc
test eax, eax
je 0x5059f6
push str.HTTP_1.0_proxy_connection_set_to_keep_alive__n
push ebx
mov dword [edi + 0x1a0], 0
call fcn.004ee4d0
add esp, 8
jmp 0x5058c9
cmp dword [edi + 0x118], 0xb
jne 0x505a3e
cmp dword [edi + 0x1ac], 0
je 0x505a3e
push str.close
push str.Proxy_Connection:
push dword [esi + 0x68]
call fcn.00505080
add esp, 0xc
test eax, eax
je 0x505a3e
push str.HTTP_1.1_proxy_connection_set_close__n
push ebx
mov dword [edi + 0x1a0], 1
call fcn.004ee4d0
add esp, 8
jmp 0x5058c9
cmp dword [edi + 0x118], 0xa
jne 0x505a7d
push str.keep_alive
push str.Connection:
push dword [esi + 0x68]
call fcn.00505080
add esp, 0xc
test eax, eax
je 0x505a7d
push str.HTTP_1.0_connection_set_to_keep_alive__n
push ebx
mov dword [edi + 0x1a0], 0
call fcn.004ee4d0
add esp, 8
jmp 0x5058c9
push str.close
push str.Connection:
push dword [esi + 0x68]
call fcn.00505080
add esp, 0xc
test eax, eax
je 0x505aa5
mov dword [edi + 0x1a0], 1
jmp 0x5058c9
push 0x12
push dword [esi + 0x68]
push str.Transfer_Encoding:
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x505c26
mov edi, dword [esi + 0x68]
add edi, 0x12
mov al, byte [edi]
test al, al
je 0x505aed
nop dword [eax + eax]
movzx eax, al
push eax
call fcn.00534e4b
add esp, 4
test eax, eax
jne 0x505ae5
cmp byte [edi], 0x2c
jne 0x505aed
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x505ad0
push 7
push edi
push str.chunked
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x505b19
push dword [ebp + 0xc]
mov dword [esi + 0xc8], 1
call fcn.00502f30
add esp, 4
add edi, 7
cmp dword [esi + 0x88], 0
jne 0x5058c6
push 8
push edi
push str.identity
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x505b50
mov eax, 8
mov dword [esi + 0x88], 0
add edi, eax
jmp 0x505ac5
push 7
push edi
push str.deflate
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x505b7a
mov eax, 7
mov dword [esi + 0x88], 1
add edi, eax
jmp 0x505ac5
push 4
push edi
push str.gzip
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x505ba4
mov eax, 4
mov dword [esi + 0x88], 2
add edi, eax
jmp 0x505ac5
push 6
push edi
push str.x_gzip
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x505bce
mov eax, 6
mov dword [esi + 0x88], 2
add edi, eax
jmp 0x505ac5
push 8
push edi
push str.compress
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x505bf8
mov eax, 8
mov dword [esi + 0x88], 3
add edi, eax
jmp 0x505ac5
push 0xa
push edi
push str.x_compress
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x5058c6
mov eax, 0xa
mov dword [esi + 0x88], 3
add edi, eax
jmp 0x505ac5
push 0x11
push dword [esi + 0x68]
push str.Content_Encoding:
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x505d30
cmp dword [ebx + 0x358], 0
je 0x505d30
mov edi, dword [esi + 0x68]
add edi, 0x11
mov al, byte [edi]
test al, al
je 0x505c78
nop dword [eax]
movzx eax, al
push eax
call fcn.00534e4b
add esp, 4
test eax, eax
je 0x505c78
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x505c60
push 8
push edi
push str.identity
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x505c9b
mov dword [esi + 0x88], 0
jmp 0x5058c6
push 7
push edi
push str.deflate
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x505cbe
mov dword [esi + 0x88], 1
jmp 0x5058c6
push 4
push edi
push str.gzip
call fcn.004ff5d0
add esp, 0xc
test eax, eax
jne 0x505d21
push 6
push edi
push str.x_gzip
call fcn.004ff5d0
add esp, 0xc
test eax, eax
jne 0x505d21
push 8
push edi
push str.compress
call fcn.004ff5d0
add esp, 0xc
test eax, eax
jne 0x505d12
push 0xa
push edi
push str.x_compress
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x5058c6
mov dword [esi + 0x88], 3
jmp 0x5058c6
mov dword [esi + 0x88], 2
jmp 0x5058c6
push 0xe
push dword [esi + 0x68]
push str.Content_Range:
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x505da7
mov edi, dword [esi + 0x68]
add edi, 0xe
mov al, byte [edi]
test al, al
je 0x505d6a
movzx eax, al
push eax
call fcn.00534d93
add esp, 4
test eax, eax
jne 0x505d6a
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x505d52
push 0xa
push 0
push edi
call fcn.00536076
mov dword [esi + 0x70], eax
add esp, 0xc
mov dword [esi + 0x74], edx
mov eax, dword [ebx + 0x8670]
cmp eax, dword [esi + 0x70]
jne 0x5058c6
mov edi, dword [ebp + 0xc]
cmp dword [ebx + 0x8674], edx
jne 0x5058c9
mov dword [esi + 0x6c], 1
jmp 0x5058c9
cmp dword [ebx + 0x430], 0
je 0x505e0f
push 0xb
push dword [esi + 0x68]
push str.Set_Cookie:
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x505e0f
push 2
push 2
push ebx
call fcn.004ff2f0
mov eax, dword [edi + 0x244]
add esp, 0xc
test eax, eax
jne 0x505de3
mov eax, dword [edi + 0x80]
push dword [ebx + 0x8658]
push eax
mov eax, dword [esi + 0x68]
add eax, 0xb
push eax
push 1
push dword [ebx + 0x430]
push ebx
call fcn.004f0130
push 2
push ebx
call fcn.004ff330
add esp, 0x20
jmp 0x5058c9
push 0xe
push dword [esi + 0x68]
push str.Last_Modified:
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x505e7b
cmp dword [ebx + 0x208], 0
jne 0x505e37
cmp dword [ebx + 0x29c], 0
je 0x505e7b
push 0
call fcn.00534325
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esi + 0x68]
add eax, 0xe
mov dword [ebp - 0xc], edx
push eax
call sym.mts.exe_curl_getdate
add esp, 0xc
mov dword [esi + 0x90], eax
mov dword [esi + 0x94], edx
cmp dword [ebx + 0x29c], 0
je 0x5058c9
mov dword [ebx + 0x86b8], eax
jmp 0x5058c9
push 0x11
push dword [esi + 0x68]
push str.WWW_Authenticate:
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x505e9b
mov eax, dword [esi + 0x78]
cmp eax, 0x191
je 0x505ebb
push 0x13
push dword [esi + 0x68]
push str.Proxy_authenticate:
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x505ed5
mov eax, dword [esi + 0x78]
cmp eax, 0x197
jne 0x505ed5
push dword [esi + 0x68]
push eax
push edi
call fcn.00505320
add esp, 0xc
test eax, eax
jne 0x5062f3
jmp 0x5058c9
mov eax, dword [esi + 0x78]
cmp eax, 0x12c
jl 0x505f75
cmp eax, 0x190
jge 0x505f75
push 9
push dword [esi + 0x68]
push str.Location:
call fcn.004ff5d0
add esp, 0xc
test eax, eax
je 0x505f75
cmp dword [ebx + 0xd0], 0
jne 0x505f75
push dword [esi + 0x68]
call fcn.005063c0
add esp, 4
test eax, eax
je 0x5061e6
cmp byte [eax], 0
jne 0x505f34
push eax
call dword [0x581bfc]
add esp, 4
jmp 0x5058c9
cmp dword [ebx + 0x2bc], 0
mov dword [ebx + 0xd0], eax
je 0x5058c9
push eax
call dword [0x581c04]
add esp, 4
mov dword [ebx + 0xd4], eax
test eax, eax
je 0x5061e6
push edi
call fcn.005066d0
add esp, 4
test eax, eax
jne 0x5062f3
jmp 0x5058c9
mov eax, dword [edi + 0x214]
test dword [eax + 0x3c], 0x40000
je 0x5058c9
push dword [esi + 0x68]
push edi
call fcn.0050ede0
add esp, 8
test eax, eax
jne 0x5062f3
jmp 0x5058c9
cmp al, 0xd
jne 0x505fab
lea eax, [edx + 1]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
cmp byte [eax], 0xa
jne 0x505fb7
inc eax
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x78]
cmp eax, 0x64
jl 0x505ff3
cmp eax, 0xc7
jg 0x505ff3
cmp dword [esi + 0x84], 0
mov edi, dword [ebp + 0xc]
mov dword [esi + 0x48], 1
mov dword [esi + 0x50], 0
je 0x506049
or dword [esi + 0xa8], 2
mov dword [esi + 0x84], 0
jmp 0x506049
mov eax, dword [esi]
and eax, dword [esi + 4]
mov edi, dword [ebp + 0xc]
mov dword [esi + 0x48], 0
cmp eax, 0xffffffff
jne 0x506049
cmp dword [esi + 0xc8], 0
jne 0x506049
cmp dword [edi + 0x1a0], 0
jne 0x506049
cmp dword [edi + 0x118], 0xb
jl 0x506049
mov eax, dword [edi + 0x214]
test dword [eax + 0x3c], 0x40000
jne 0x506049
push str.no_chunk__no_close__no_size._Assume_close_to_signal_end_n
push ebx
call fcn.004ee4d0
add esp, 8
mov dword [edi + 0x1a0], 1
push edi
call fcn.00506880
add esp, 4
test eax, eax
jne 0x506295
mov eax, dword [ebx + 0x554]
mov ecx, dword [esi + 0x68]
sub ecx, eax
push ecx
push eax
xor eax, eax
mov dword [ebp + 8], ecx
cmp dword [ebx + 0x2c8], eax
setne al
add eax, 2
push eax
push edi
call fcn.004ee1f0
add esp, 0x10
test eax, eax
jne 0x5062f3
mov eax, dword [ebp + 8]
add dword [ebx + 0x86c0], eax
add dword [ebx + 0x48], eax
mov ecx, dword [esi + 0x78]
mov eax, dword [ebx + 0x48]
cmp ecx, 0x64
jl 0x5060a9
cmp ecx, 0xc7
jle 0x5060ab
xor eax, eax
mov dword [ebx + 0x4c], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x506160
push edi
call fcn.00505150
add esp, 4
test eax, eax
jne 0x5062f3
cmp dword [esi + 0x78], 0x12c
jl 0x50613f
cmp dword [edi + 0x1d8], eax
jne 0x50613f
cmp dword [edi + 0x1a0], eax
jne 0x50613f
cmp dword [edi + 0x1dc], eax
jne 0x506148
mov eax, dword [ebx + 0x218]
add eax, 0xfffffffe
cmp eax, 2
ja 0x50613f
cmp dword [esi + 0xac], 0
jne 0x50613f
push str.HTTP_error_before_end_of_send__stop_sending_n
push ebx
call fcn.004ee4d0
mov dword [edi + 0x1a0], 1
add esp, 8
and dword [esi + 0xa8], 0xfffffffd
mov dword [esi + 0xac], 1
cmp dword [ebx + 0x8644], 0
je 0x50613f
mov dword [esi + 0x84], 3
cmp dword [edi + 0x1dc], 0
je 0x50615d
push str.Keep_sending_data_to_get_tossed_away__n
push ebx
call fcn.004ee4d0
add esp, 8
or dword [esi + 0xa8], 2
mov eax, dword [ebp + 0x14]
cmp dword [esi + 0x48], 0
je 0x5061f2
mov eax, dword [ebx + 0x554]
mov dword [esi + 0x54], eax
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x58], 0
cmp dword [eax], 0
jne 0x5062f1
mov eax, dword [esi + 0x5c]
cmp byte [eax], 0
jne 0x5055a0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x48], 0
cmp dword [eax], 0
je 0x5061ba
pop edi
mov dword [esi + 0x4c], 1
xor eax, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi + 0x4c], 2
mov dword [eax], edi
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Maximum_file_size_exceeded
push ebx
call fcn.004ee430
add esp, 8
mov eax, 0x3f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0x1b
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x2d4], 0
je 0x506203
mov dword [eax], 1
jmp 0x506227
cmp dword [esi + 0xc8], 0
je 0x506227
mov dword [esi], 0xffffffff
mov dword [esi + 4], 0xffffffff
mov dword [esi + 0x10], 0xffffffff
mov dword [esi + 0x14], 0xffffffff
mov ecx, dword [esi]
mov eax, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x506235
cmp eax, ecx
je 0x50624b
push eax
push ecx
push ebx
call fcn.00506e40
mov eax, dword [esi]
add esp, 0xc
mov dword [esi + 0x10], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x14], eax
cmp dword [esi + 0x10], 0
jne 0x506262
cmp dword [esi + 0x14], 0
jne 0x506262
mov eax, dword [ebp + 0x14]
mov dword [eax], 1
jmp 0x50626a
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x506271
and dword [esi + 0xa8], 0xfffffffe
cmp dword [ebx + 0x2e4], 0
je 0x5062f1
push edi
push dword [ebp + 8]
push dword [esi + 0x60]
push 1
push ebx
call fcn.004ee350
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [esi + 0x78]
push str.The_requested_URL_returned_error:__d
push ebx
call fcn.004ee430
add esp, 0xc
mov eax, 0x16
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [eax]
push esi
push ebx
call fcn.00506510
add esp, 0xc
test eax, eax
jne 0x5062f3
cmp dword [esi + 0x50], eax
jne 0x5062f1
cmp dword [esi + 0x58], 5
jbe 0x5062f1
push dword [ebx + 0x554]
push dword [ebp + 0xc]
push ebx
call fcn.00506370
add esp, 0xc
test eax, eax
jne 0x5062f1
mov dword [esi + 0x4c], 2
mov dword [esi + 0x48], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret