Function at 0x52af20
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.004f0c40
mov edi, eax
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x64], edi
test edi, edi
je 0x52bc42
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.0052bea0
add esp, 0xc
test eax, eax
jne 0x52bc83
cmp dword [esi + 0x50], 0
mov eax, dword [esi + 0x54]
mov dword [esi + 0x64], eax
mov eax, dword [ebx + 0x534]
mov dword [esi + 0x68], eax
jne 0x52afaf
cmp dword [esi + 0x58], 5
jbe 0x52afaf
push dword [ebx + 0x534]
mov eax, dword [ebp + 0xc]
push eax
push ebx
call fcn.0052bd00
add esp, 0xc
test eax, eax
je 0x52bb2b
mov edx, dword [esi + 0x68]
mov al, byte [edx]
cmp al, 0xa
je 0x52b931
cmp al, 0xd
je 0x52b935
mov ecx, dword [esi + 0x50]
lea eax, [ecx + 1]
mov dword [esi + 0x50], eax
test ecx, ecx
jne 0x52b1c9
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x210]
mov eax, dword [eax + 0x3c]
test al, 1
je 0x52b117
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.00477040
add esp, 0x14
cmp eax, 3
jne 0x52b0cf
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 + 0x868c], eax
mov eax, dword [edi]
mov dword [ebx + 0x8694], eax
mov eax, dword [ebx + 0x8620]
test eax, eax
je 0x52b03b
cmp eax, dword [edi]
jle 0x52b043
mov eax, dword [edi]
mov dword [ebx + 0x8620], eax
cmp dword [ebx + 0x2b8], 0
je 0x52b0a4
mov edx, dword [esi + 0x78]
cmp edx, 0x190
jl 0x52b0a4
cmp edx, 0x191
jne 0x52b068
cmp dword [ecx + 0x1a8], 0
jne 0x52b0a4
cmp edx, 0x197
jne 0x52b079
cmp dword [ecx + 0x1ac], 0
jne 0x52b0a4
mov eax, dword [ebx + 0x8650]
or eax, dword [ebx + 0x8654]
je 0x52bc25
cmp dword [ebx + 0x218], 1
jne 0x52bc25
cmp edx, 0x1a0
jne 0x52bc25
mov eax, dword [edi]
cmp eax, 0xa
jne 0x52b16a
push str.HTTP_1.0__assume_close_after_body_n
push ebx
call fcn.00516470
mov eax, dword [ebp + 0xc]
add esp, 8
mov dword [eax + 0x198], 1
jmp 0x52b182
lea eax, [esi + 0x78]
push eax
push str._HTTP__3d
push dword [esi + 0x68]
call fcn.00477040
add esp, 0xc
mov dword [edi], 0xa
test eax, eax
jne 0x52b019
push dword [esi + 0x68]
push ebx
call fcn.0052bc90
add esp, 8
test eax, eax
je 0x52bc7a
mov dword [esi + 0x78], 0xc8
mov dword [edi], 0xa
jmp 0x52b019
test eax, 0x40000
je 0x52bc7a
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.00477040
add esp, 0x14
cmp eax, 3
jne 0x52bc7a
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 0x52b01c
cmp eax, 0xb
jl 0x52b182
cmp dword [ecx + 0x198], 0
jne 0x52b182
mov dword [ecx + 0x258], 1
mov eax, dword [esi + 0x78]
sub eax, 0xcc
je 0x52b191
sub eax, 0x64
jne 0x52b1c9
cmp dword [ebx + 0x208], 0
je 0x52b1a4
mov dword [ebx + 0x869c], 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 0x52b2d3
cmp dword [ebx + 0x318], 0
jne 0x52b2d3
push 0xf
push dword [esi + 0x68]
push str.Content_Length:
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b2d3
mov eax, dword [esi + 0x68]
push 0xa
add eax, 0xf
push 0
push eax
call fcn.00500da2
mov ecx, dword [ebx + 0x280]
add esp, 0xc
mov edi, dword [ebx + 0x284]
or ecx, edi
je 0x52b236
cmp edx, edi
jg 0x52bb5c
jl 0x52b236
cmp eax, dword [ebx + 0x280]
ja 0x52bb5c
test edx, edx
jl 0x52b2b4
jg 0x52b240
test eax, eax
jb 0x52b2b4
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.0052c7b0
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 0x52b288
push edi
push dword [esi + 0x58]
push dword [esi + 0x68]
push 1
push ebx
call fcn.005162f0
mov eax, dword [ebp + 8]
add esp, 0x14
push dword [esi + 0x58]
push dword [esi + 0x68]
push eax
push edi
call fcn.00516190
add esp, 0x10
test eax, eax
jne 0x52bc83
mov eax, dword [esi + 0x58]
add dword [ebx + 0x86a0], eax
mov eax, dword [esi + 0x58]
add dword [ebx + 0x48], eax
jmp 0x52bafa
mov edi, dword [ebp + 0xc]
push edx
push eax
push str.Negative_content_length:__lld__closing_after_transfer_n
push ebx
mov dword [edi + 0x198], 1
call fcn.00516470
add esp, 0x10
jmp 0x52b259
push 0xd
push dword [esi + 0x68]
push str.Content_Type:
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b33b
push dword [esi + 0x68]
call fcn.0052bd50
mov edi, eax
add esp, 4
test edi, edi
je 0x52bb76
cmp byte [edi], 0
jne 0x52b312
push edi
call dword [0x673024]
add esp, 4
jmp 0x52b256
mov eax, dword [ebx + 0x86b4]
test eax, eax
je 0x52b330
push eax
call dword [0x673024]
add esp, 4
mov dword [ebx + 0x86b4], 0
mov dword [ebx + 0x86b4], edi
jmp 0x52b256
mov edi, dword [ebp + 0xc]
cmp dword [edi + 0x118], 0xa
jne 0x52b386
cmp dword [edi + 0x1a4], 0
je 0x52b386
push str.keep_alive
push str.Proxy_Connection:
push dword [esi + 0x68]
call fcn.0052aa10
add esp, 0xc
test eax, eax
je 0x52b386
push str.HTTP_1.0_proxy_connection_set_to_keep_alive__n
push ebx
mov dword [edi + 0x198], 0
call fcn.00516470
add esp, 8
jmp 0x52b259
cmp dword [edi + 0x118], 0xb
jne 0x52b3ce
cmp dword [edi + 0x1a4], 0
je 0x52b3ce
push str.close
push str.Proxy_Connection:
push dword [esi + 0x68]
call fcn.0052aa10
add esp, 0xc
test eax, eax
je 0x52b3ce
push str.HTTP_1.1_proxy_connection_set_close__n
push ebx
mov dword [edi + 0x198], 1
call fcn.00516470
add esp, 8
jmp 0x52b259
cmp dword [edi + 0x118], 0xa
jne 0x52b40d
push str.keep_alive
push str.Connection:
push dword [esi + 0x68]
call fcn.0052aa10
add esp, 0xc
test eax, eax
je 0x52b40d
push str.HTTP_1.0_connection_set_to_keep_alive__n
push ebx
mov dword [edi + 0x198], 0
call fcn.00516470
add esp, 8
jmp 0x52b259
push str.close
push str.Connection:
push dword [esi + 0x68]
call fcn.0052aa10
add esp, 0xc
test eax, eax
je 0x52b435
mov dword [edi + 0x198], 1
jmp 0x52b259
push 0x12
push dword [esi + 0x68]
push str.Transfer_Encoding:
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b5b6
mov edi, dword [esi + 0x68]
add edi, 0x12
mov al, byte [edi]
test al, al
je 0x52b47d
nop dword [eax + eax]
movzx eax, al
push eax
call fcn.00500792
add esp, 4
test eax, eax
jne 0x52b475
cmp byte [edi], 0x2c
jne 0x52b47d
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x52b460
push 7
push edi
push str.chunked
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b4a9
push dword [ebp + 0xc]
mov dword [esi + 0xc8], 1
call fcn.005288e0
add esp, 4
add edi, 7
cmp dword [esi + 0x88], 0
jne 0x52b256
push 8
push edi
push str.identity
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b4e0
mov eax, 8
mov dword [esi + 0x88], 0
add edi, eax
jmp 0x52b455
push 7
push edi
push str.deflate
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b50a
mov eax, 7
mov dword [esi + 0x88], 1
add edi, eax
jmp 0x52b455
push 4
push edi
push str.gzip
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b534
mov eax, 4
mov dword [esi + 0x88], 2
add edi, eax
jmp 0x52b455
push 6
push edi
push str.x_gzip
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b55e
mov eax, 6
mov dword [esi + 0x88], 2
add edi, eax
jmp 0x52b455
push 8
push edi
push str.compress
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b588
mov eax, 8
mov dword [esi + 0x88], 3
add edi, eax
jmp 0x52b455
push 0xa
push edi
push str.x_compress
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b256
mov eax, 0xa
mov dword [esi + 0x88], 3
add edi, eax
jmp 0x52b455
push 0x11
push dword [esi + 0x68]
push str.Content_Encoding:
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b6c0
cmp dword [ebx + 0x354], 0
je 0x52b6c0
mov edi, dword [esi + 0x68]
add edi, 0x11
mov al, byte [edi]
test al, al
je 0x52b608
nop dword [eax]
movzx eax, al
push eax
call fcn.00500792
add esp, 4
test eax, eax
je 0x52b608
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x52b5f0
push 8
push edi
push str.identity
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b62b
mov dword [esi + 0x88], 0
jmp 0x52b256
push 7
push edi
push str.deflate
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b64e
mov dword [esi + 0x88], 1
jmp 0x52b256
push 4
push edi
push str.gzip
call fcn.00524f20
add esp, 0xc
test eax, eax
jne 0x52b6b1
push 6
push edi
push str.x_gzip
call fcn.00524f20
add esp, 0xc
test eax, eax
jne 0x52b6b1
push 8
push edi
push str.compress
call fcn.00524f20
add esp, 0xc
test eax, eax
jne 0x52b6a2
push 0xa
push edi
push str.x_compress
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b256
mov dword [esi + 0x88], 3
jmp 0x52b256
mov dword [esi + 0x88], 2
jmp 0x52b256
push 0xe
push dword [esi + 0x68]
push str.Content_Range:
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b737
mov edi, dword [esi + 0x68]
add edi, 0xe
mov al, byte [edi]
test al, al
je 0x52b6fa
movzx eax, al
push eax
call fcn.005006da
add esp, 4
test eax, eax
jne 0x52b6fa
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x52b6e2
push 0xa
push 0
push edi
call fcn.00500da2
mov dword [esi + 0x70], eax
add esp, 0xc
mov dword [esi + 0x74], edx
mov eax, dword [ebx + 0x8650]
cmp eax, dword [esi + 0x70]
jne 0x52b256
mov edi, dword [ebp + 0xc]
cmp dword [ebx + 0x8654], edx
jne 0x52b259
mov dword [esi + 0x6c], 1
jmp 0x52b259
cmp dword [ebx + 0x418], 0
je 0x52b79f
push 0xb
push dword [esi + 0x68]
push str.Set_Cookie:
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b79f
push 2
push 2
push ebx
call fcn.00524e30
mov eax, dword [edi + 0x240]
add esp, 0xc
test eax, eax
jne 0x52b773
mov eax, dword [edi + 0x80]
push dword [ebx + 0x8638]
push eax
mov eax, dword [esi + 0x68]
add eax, 0xb
push eax
push 1
push dword [ebx + 0x418]
push ebx
call fcn.00517f90
push 2
push ebx
call fcn.00524e70
add esp, 0x20
jmp 0x52b259
push 0xe
push dword [esi + 0x68]
push str.Last_Modified:
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b80b
cmp dword [ebx + 0x208], 0
jne 0x52b7c7
cmp dword [ebx + 0x29c], 0
je 0x52b80b
push 0
call fcn.004f8bf2
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 fcn.005247d0
add esp, 0xc
mov dword [esi + 0x90], eax
mov dword [esi + 0x94], edx
cmp dword [ebx + 0x29c], 0
je 0x52b259
mov dword [ebx + 0x8698], eax
jmp 0x52b259
push 0x11
push dword [esi + 0x68]
push str.WWW_Authenticate:
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b82b
mov eax, dword [esi + 0x78]
cmp eax, 0x191
je 0x52b84b
push 0x13
push dword [esi + 0x68]
push str.Proxy_authenticate:
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b865
mov eax, dword [esi + 0x78]
cmp eax, 0x197
jne 0x52b865
push dword [esi + 0x68]
push eax
push edi
call fcn.0052acb0
add esp, 0xc
test eax, eax
jne 0x52bc83
jmp 0x52b259
mov eax, dword [esi + 0x78]
cmp eax, 0x12c
jl 0x52b905
cmp eax, 0x190
jge 0x52b905
push 9
push dword [esi + 0x68]
push str.Location:
call fcn.00524f20
add esp, 0xc
test eax, eax
je 0x52b905
cmp dword [ebx + 0xd0], 0
jne 0x52b905
push dword [esi + 0x68]
call fcn.0052bd50
add esp, 4
test eax, eax
je 0x52bb76
cmp byte [eax], 0
jne 0x52b8c4
push eax
call dword [0x673024]
add esp, 4
jmp 0x52b259
cmp dword [ebx + 0x2bc], 0
mov dword [ebx + 0xd0], eax
je 0x52b259
push eax
call dword [0x67302c]
add esp, 4
mov dword [ebx + 0xd4], eax
test eax, eax
je 0x52bb76
push edi
call fcn.0052c060
add esp, 4
test eax, eax
jne 0x52bc83
jmp 0x52b259
mov eax, dword [edi + 0x210]
test dword [eax + 0x3c], 0x40000
je 0x52b259
push dword [esi + 0x68]
push edi
call fcn.005378a0
add esp, 8
test eax, eax
jne 0x52bc83
jmp 0x52b259
cmp al, 0xd
jne 0x52b93b
lea eax, [edx + 1]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
cmp byte [eax], 0xa
jne 0x52b947
inc eax
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x78]
cmp eax, 0x64
jl 0x52b983
cmp eax, 0xc7
jg 0x52b983
cmp dword [esi + 0x84], 0
mov edi, dword [ebp + 0xc]
mov dword [esi + 0x48], 1
mov dword [esi + 0x50], 0
je 0x52b9d9
or dword [esi + 0xa8], 2
mov dword [esi + 0x84], 0
jmp 0x52b9d9
mov eax, dword [esi]
and eax, dword [esi + 4]
mov edi, dword [ebp + 0xc]
mov dword [esi + 0x48], 0
cmp eax, 0xffffffff
jne 0x52b9d9
cmp dword [esi + 0xc8], 0
jne 0x52b9d9
cmp dword [edi + 0x198], 0
jne 0x52b9d9
cmp dword [edi + 0x118], 0xb
jl 0x52b9d9
mov eax, dword [edi + 0x210]
test dword [eax + 0x3c], 0x40000
jne 0x52b9d9
push str.no_chunk__no_close__no_size._Assume_close_to_signal_end_n
push ebx
call fcn.00516470
add esp, 8
mov dword [edi + 0x198], 1
push edi
call fcn.0052c210
add esp, 4
test eax, eax
jne 0x52bc25
mov eax, dword [ebx + 0x534]
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.00516190
add esp, 0x10
test eax, eax
jne 0x52bc83
mov eax, dword [ebp + 8]
add dword [ebx + 0x86a0], eax
add dword [ebx + 0x48], eax
mov ecx, dword [esi + 0x78]
mov eax, dword [ebx + 0x48]
cmp ecx, 0x64
jl 0x52ba39
cmp ecx, 0xc7
jle 0x52ba3b
xor eax, eax
mov dword [ebx + 0x4c], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x52baf0
push edi
call fcn.0052aae0
add esp, 4
test eax, eax
jne 0x52bc83
cmp dword [esi + 0x78], 0x12c
jl 0x52bacf
cmp dword [edi + 0x1d4], eax
jne 0x52bacf
cmp dword [edi + 0x198], eax
jne 0x52bacf
cmp dword [edi + 0x1d8], eax
jne 0x52bad8
mov eax, dword [ebx + 0x218]
add eax, 0xfffffffe
cmp eax, 2
ja 0x52bacf
cmp dword [esi + 0xac], 0
jne 0x52bacf
push str.HTTP_error_before_end_of_send__stop_sending_n
push ebx
call fcn.00516470
mov dword [edi + 0x198], 1
add esp, 8
and dword [esi + 0xa8], 0xfffffffd
mov dword [esi + 0xac], 1
cmp dword [ebx + 0x8624], 0
je 0x52bacf
mov dword [esi + 0x84], 3
cmp dword [edi + 0x1d8], 0
je 0x52baed
push str.Keep_sending_data_to_get_tossed_away__n
push ebx
call fcn.00516470
add esp, 8
or dword [esi + 0xa8], 2
mov eax, dword [ebp + 0x14]
cmp dword [esi + 0x48], 0
je 0x52bb82
mov eax, dword [ebx + 0x534]
mov dword [esi + 0x54], eax
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x58], 0
cmp dword [eax], 0
jne 0x52bc81
mov eax, dword [esi + 0x5c]
cmp byte [eax], 0
jne 0x52af30
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 0x52bb4a
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.005163d0
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 0x52bb93
mov dword [eax], 1
jmp 0x52bbb7
cmp dword [esi + 0xc8], 0
je 0x52bbb7
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 0x52bbc5
cmp eax, ecx
je 0x52bbdb
push eax
push ecx
push ebx
call fcn.0052c7b0
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 0x52bbf2
cmp dword [esi + 0x14], 0
jne 0x52bbf2
mov eax, dword [ebp + 0x14]
mov dword [eax], 1
jmp 0x52bbfa
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x52bc01
and dword [esi + 0xa8], 0xfffffffe
cmp dword [ebx + 0x2e4], 0
je 0x52bc81
push edi
push dword [ebp + 8]
push dword [esi + 0x60]
push 1
push ebx
call fcn.005162f0
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.005163d0
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.0052bea0
add esp, 0xc
test eax, eax
jne 0x52bc83
cmp dword [esi + 0x50], eax
jne 0x52bc81
cmp dword [esi + 0x58], 5
jbe 0x52bc81
push dword [ebx + 0x534]
push dword [ebp + 0xc]
push ebx
call fcn.0052bd00
add esp, 0xc
test eax, eax
jne 0x52bc81
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