Function at 0x78b660
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.00751450
mov edi, eax
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x64], edi
test edi, edi
je 0x78c382
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.0078c5e0
add esp, 0xc
test eax, eax
jne 0x78c3c3
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 0x78b6ef
cmp dword [esi + 0x58], 5
jbe 0x78b6ef
push dword [ebx + 0x534]
mov eax, dword [ebp + 0xc]
push eax
push ebx
call fcn.0078c440
add esp, 0xc
test eax, eax
je 0x78c26b
mov edx, dword [esi + 0x68]
mov al, byte [edx]
cmp al, 0xa
je 0x78c071
cmp al, 0xd
je 0x78c075
mov ecx, dword [esi + 0x50]
lea eax, [ecx + 1]
mov dword [esi + 0x50], eax
test ecx, ecx
jne 0x78b909
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x210]
mov eax, dword [eax + 0x3c]
test al, 1
je 0x78b857
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.006e8fb0
add esp, 0x14
cmp eax, 3
jne 0x78b80f
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 0x78b77b
cmp eax, dword [edi]
jle 0x78b783
mov eax, dword [edi]
mov dword [ebx + 0x8620], eax
cmp dword [ebx + 0x2b8], 0
je 0x78b7e4
mov edx, dword [esi + 0x78]
cmp edx, 0x190
jl 0x78b7e4
cmp edx, 0x191
jne 0x78b7a8
cmp dword [ecx + 0x1a8], 0
jne 0x78b7e4
cmp edx, 0x197
jne 0x78b7b9
cmp dword [ecx + 0x1ac], 0
jne 0x78b7e4
mov eax, dword [ebx + 0x8650]
or eax, dword [ebx + 0x8654]
je 0x78c365
cmp dword [ebx + 0x218], 1
jne 0x78c365
cmp edx, 0x1a0
jne 0x78c365
mov eax, dword [edi]
cmp eax, 0xa
jne 0x78b8aa
push str.HTTP_1.0__assume_close_after_body_n
push ebx
call fcn.00776bf0
mov eax, dword [ebp + 0xc]
add esp, 8
mov dword [eax + 0x198], 1
jmp 0x78b8c2
lea eax, [esi + 0x78]
push eax
push str._HTTP__3d
push dword [esi + 0x68]
call fcn.006e8fb0
add esp, 0xc
mov dword [edi], 0xa
test eax, eax
jne 0x78b759
push dword [esi + 0x68]
push ebx
call fcn.0078c3d0
add esp, 8
test eax, eax
je 0x78c3ba
mov dword [esi + 0x78], 0xc8
mov dword [edi], 0xa
jmp 0x78b759
test eax, 0x40000
je 0x78c3ba
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.006e8fb0
add esp, 0x14
cmp eax, 3
jne 0x78c3ba
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 0x78b75c
cmp eax, 0xb
jl 0x78b8c2
cmp dword [ecx + 0x198], 0
jne 0x78b8c2
mov dword [ecx + 0x258], 1
mov eax, dword [esi + 0x78]
sub eax, 0xcc
je 0x78b8d1
sub eax, 0x64
jne 0x78b909
cmp dword [ebx + 0x208], 0
je 0x78b8e4
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 0x78ba13
cmp dword [ebx + 0x318], 0
jne 0x78ba13
push 0xf
push dword [esi + 0x68]
push str.Content_Length:
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78ba13
mov eax, dword [esi + 0x68]
push 0xa
add eax, 0xf
push 0
push eax
call fcn.00761612
mov ecx, dword [ebx + 0x280]
add esp, 0xc
mov edi, dword [ebx + 0x284]
or ecx, edi
je 0x78b976
cmp edx, edi
jg 0x78c29c
jl 0x78b976
cmp eax, dword [ebx + 0x280]
ja 0x78c29c
test edx, edx
jl 0x78b9f4
jg 0x78b980
test eax, eax
jb 0x78b9f4
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.0078cef0
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 0x78b9c8
push edi
push dword [esi + 0x58]
push dword [esi + 0x68]
push 1
push ebx
call fcn.00776a70
mov eax, dword [ebp + 8]
add esp, 0x14
push dword [esi + 0x58]
push dword [esi + 0x68]
push eax
push edi
call fcn.00776910
add esp, 0x10
test eax, eax
jne 0x78c3c3
mov eax, dword [esi + 0x58]
add dword [ebx + 0x86a0], eax
mov eax, dword [esi + 0x58]
add dword [ebx + 0x48], eax
jmp 0x78c23a
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.00776bf0
add esp, 0x10
jmp 0x78b999
push 0xd
push dword [esi + 0x68]
push str.Content_Type:
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78ba7b
push dword [esi + 0x68]
call fcn.0078c490
mov edi, eax
add esp, 4
test edi, edi
je 0x78c2b6
cmp byte [edi], 0
jne 0x78ba52
push edi
call dword [0x8d0054]
add esp, 4
jmp 0x78b996
mov eax, dword [ebx + 0x86b4]
test eax, eax
je 0x78ba70
push eax
call dword [0x8d0054]
add esp, 4
mov dword [ebx + 0x86b4], 0
mov dword [ebx + 0x86b4], edi
jmp 0x78b996
mov edi, dword [ebp + 0xc]
cmp dword [edi + 0x118], 0xa
jne 0x78bac6
cmp dword [edi + 0x1a4], 0
je 0x78bac6
push str.keep_alive
push str.Proxy_Connection:
push dword [esi + 0x68]
call fcn.0078b150
add esp, 0xc
test eax, eax
je 0x78bac6
push str.HTTP_1.0_proxy_connection_set_to_keep_alive__n
push ebx
mov dword [edi + 0x198], 0
call fcn.00776bf0
add esp, 8
jmp 0x78b999
cmp dword [edi + 0x118], 0xb
jne 0x78bb0e
cmp dword [edi + 0x1a4], 0
je 0x78bb0e
push str.close
push str.Proxy_Connection:
push dword [esi + 0x68]
call fcn.0078b150
add esp, 0xc
test eax, eax
je 0x78bb0e
push str.HTTP_1.1_proxy_connection_set_close__n
push ebx
mov dword [edi + 0x198], 1
call fcn.00776bf0
add esp, 8
jmp 0x78b999
cmp dword [edi + 0x118], 0xa
jne 0x78bb4d
push str.keep_alive
push str.Connection:
push dword [esi + 0x68]
call fcn.0078b150
add esp, 0xc
test eax, eax
je 0x78bb4d
push str.HTTP_1.0_connection_set_to_keep_alive__n
push ebx
mov dword [edi + 0x198], 0
call fcn.00776bf0
add esp, 8
jmp 0x78b999
push str.close
push str.Connection:
push dword [esi + 0x68]
call fcn.0078b150
add esp, 0xc
test eax, eax
je 0x78bb75
mov dword [edi + 0x198], 1
jmp 0x78b999
push 0x12
push dword [esi + 0x68]
push str.Transfer_Encoding:
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78bcf6
mov edi, dword [esi + 0x68]
add edi, 0x12
mov al, byte [edi]
test al, al
je 0x78bbbd
nop dword [eax + eax]
movzx eax, al
push eax
call fcn.00761002
add esp, 4
test eax, eax
jne 0x78bbb5
cmp byte [edi], 0x2c
jne 0x78bbbd
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x78bba0
push 7
push edi
push str.chunked
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78bbe9
push dword [ebp + 0xc]
mov dword [esi + 0xc8], 1
call fcn.00789020
add esp, 4
add edi, 7
cmp dword [esi + 0x88], 0
jne 0x78b996
push 8
push edi
push str.identity
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78bc20
mov eax, 8
mov dword [esi + 0x88], 0
add edi, eax
jmp 0x78bb95
push 7
push edi
push str.deflate
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78bc4a
mov eax, 7
mov dword [esi + 0x88], 1
add edi, eax
jmp 0x78bb95
push 4
push edi
push str.gzip
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78bc74
mov eax, 4
mov dword [esi + 0x88], 2
add edi, eax
jmp 0x78bb95
push 6
push edi
push str.x_gzip
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78bc9e
mov eax, 6
mov dword [esi + 0x88], 2
add edi, eax
jmp 0x78bb95
push 8
push edi
push str.compress
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78bcc8
mov eax, 8
mov dword [esi + 0x88], 3
add edi, eax
jmp 0x78bb95
push 0xa
push edi
push str.x_compress
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78b996
mov eax, 0xa
mov dword [esi + 0x88], 3
add edi, eax
jmp 0x78bb95
push 0x11
push dword [esi + 0x68]
push str.Content_Encoding:
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78be00
cmp dword [ebx + 0x354], 0
je 0x78be00
mov edi, dword [esi + 0x68]
add edi, 0x11
mov al, byte [edi]
test al, al
je 0x78bd48
nop dword [eax]
movzx eax, al
push eax
call fcn.00761002
add esp, 4
test eax, eax
je 0x78bd48
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x78bd30
push 8
push edi
push str.identity
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78bd6b
mov dword [esi + 0x88], 0
jmp 0x78b996
push 7
push edi
push str.deflate
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78bd8e
mov dword [esi + 0x88], 1
jmp 0x78b996
push 4
push edi
push str.gzip
call fcn.00785690
add esp, 0xc
test eax, eax
jne 0x78bdf1
push 6
push edi
push str.x_gzip
call fcn.00785690
add esp, 0xc
test eax, eax
jne 0x78bdf1
push 8
push edi
push str.compress
call fcn.00785690
add esp, 0xc
test eax, eax
jne 0x78bde2
push 0xa
push edi
push str.x_compress
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78b996
mov dword [esi + 0x88], 3
jmp 0x78b996
mov dword [esi + 0x88], 2
jmp 0x78b996
push 0xe
push dword [esi + 0x68]
push str.Content_Range:
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78be77
mov edi, dword [esi + 0x68]
add edi, 0xe
mov al, byte [edi]
test al, al
je 0x78be3a
movzx eax, al
push eax
call fcn.00760f4a
add esp, 4
test eax, eax
jne 0x78be3a
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x78be22
push 0xa
push 0
push edi
call fcn.00761612
mov dword [esi + 0x70], eax
add esp, 0xc
mov dword [esi + 0x74], edx
mov eax, dword [ebx + 0x8650]
cmp eax, dword [esi + 0x70]
jne 0x78b996
mov edi, dword [ebp + 0xc]
cmp dword [ebx + 0x8654], edx
jne 0x78b999
mov dword [esi + 0x6c], 1
jmp 0x78b999
cmp dword [ebx + 0x418], 0
je 0x78bedf
push 0xb
push dword [esi + 0x68]
push str.Set_Cookie:
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78bedf
push 2
push 2
push ebx
call fcn.007855a0
mov eax, dword [edi + 0x240]
add esp, 0xc
test eax, eax
jne 0x78beb3
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.00778710
push 2
push ebx
call fcn.007855e0
add esp, 0x20
jmp 0x78b999
push 0xe
push dword [esi + 0x68]
push str.Last_Modified:
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78bf4b
cmp dword [ebx + 0x208], 0
jne 0x78bf07
cmp dword [ebx + 0x29c], 0
je 0x78bf4b
push 0
call fcn.00759463
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.00784f40
add esp, 0xc
mov dword [esi + 0x90], eax
mov dword [esi + 0x94], edx
cmp dword [ebx + 0x29c], 0
je 0x78b999
mov dword [ebx + 0x8698], eax
jmp 0x78b999
push 0x11
push dword [esi + 0x68]
push str.WWW_Authenticate:
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78bf6b
mov eax, dword [esi + 0x78]
cmp eax, 0x191
je 0x78bf8b
push 0x13
push dword [esi + 0x68]
push str.Proxy_authenticate:
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78bfa5
mov eax, dword [esi + 0x78]
cmp eax, 0x197
jne 0x78bfa5
push dword [esi + 0x68]
push eax
push edi
call fcn.0078b3f0
add esp, 0xc
test eax, eax
jne 0x78c3c3
jmp 0x78b999
mov eax, dword [esi + 0x78]
cmp eax, 0x12c
jl 0x78c045
cmp eax, 0x190
jge 0x78c045
push 9
push dword [esi + 0x68]
push str.Location:
call fcn.00785690
add esp, 0xc
test eax, eax
je 0x78c045
cmp dword [ebx + 0xd0], 0
jne 0x78c045
push dword [esi + 0x68]
call fcn.0078c490
add esp, 4
test eax, eax
je 0x78c2b6
cmp byte [eax], 0
jne 0x78c004
push eax
call dword [0x8d0054]
add esp, 4
jmp 0x78b999
cmp dword [ebx + 0x2bc], 0
mov dword [ebx + 0xd0], eax
je 0x78b999
push eax
call dword [0x8d005c]
add esp, 4
mov dword [ebx + 0xd4], eax
test eax, eax
je 0x78c2b6
push edi
call fcn.0078c7a0
add esp, 4
test eax, eax
jne 0x78c3c3
jmp 0x78b999
mov eax, dword [edi + 0x210]
test dword [eax + 0x3c], 0x40000
je 0x78b999
push dword [esi + 0x68]
push edi
call fcn.00798010
add esp, 8
test eax, eax
jne 0x78c3c3
jmp 0x78b999
cmp al, 0xd
jne 0x78c07b
lea eax, [edx + 1]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
cmp byte [eax], 0xa
jne 0x78c087
inc eax
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x78]
cmp eax, 0x64
jl 0x78c0c3
cmp eax, 0xc7
jg 0x78c0c3
cmp dword [esi + 0x84], 0
mov edi, dword [ebp + 0xc]
mov dword [esi + 0x48], 1
mov dword [esi + 0x50], 0
je 0x78c119
or dword [esi + 0xa8], 2
mov dword [esi + 0x84], 0
jmp 0x78c119
mov eax, dword [esi]
and eax, dword [esi + 4]
mov edi, dword [ebp + 0xc]
mov dword [esi + 0x48], 0
cmp eax, 0xffffffff
jne 0x78c119
cmp dword [esi + 0xc8], 0
jne 0x78c119
cmp dword [edi + 0x198], 0
jne 0x78c119
cmp dword [edi + 0x118], 0xb
jl 0x78c119
mov eax, dword [edi + 0x210]
test dword [eax + 0x3c], 0x40000
jne 0x78c119
push str.no_chunk__no_close__no_size._Assume_close_to_signal_end_n
push ebx
call fcn.00776bf0
add esp, 8
mov dword [edi + 0x198], 1
push edi
call fcn.0078c950
add esp, 4
test eax, eax
jne 0x78c365
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.00776910
add esp, 0x10
test eax, eax
jne 0x78c3c3
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 0x78c179
cmp ecx, 0xc7
jle 0x78c17b
xor eax, eax
mov dword [ebx + 0x4c], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x78c230
push edi
call fcn.0078b220
add esp, 4
test eax, eax
jne 0x78c3c3
cmp dword [esi + 0x78], 0x12c
jl 0x78c20f
cmp dword [edi + 0x1d4], eax
jne 0x78c20f
cmp dword [edi + 0x198], eax
jne 0x78c20f
cmp dword [edi + 0x1d8], eax
jne 0x78c218
mov eax, dword [ebx + 0x218]
add eax, 0xfffffffe
cmp eax, 2
ja 0x78c20f
cmp dword [esi + 0xac], 0
jne 0x78c20f
push str.HTTP_error_before_end_of_send__stop_sending_n
push ebx
call fcn.00776bf0
mov dword [edi + 0x198], 1
add esp, 8
and dword [esi + 0xa8], 0xfffffffd
mov dword [esi + 0xac], 1
cmp dword [ebx + 0x8624], 0
je 0x78c20f
mov dword [esi + 0x84], 3
cmp dword [edi + 0x1d8], 0
je 0x78c22d
push str.Keep_sending_data_to_get_tossed_away__n
push ebx
call fcn.00776bf0
add esp, 8
or dword [esi + 0xa8], 2
mov eax, dword [ebp + 0x14]
cmp dword [esi + 0x48], 0
je 0x78c2c2
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 0x78c3c1
mov eax, dword [esi + 0x5c]
cmp byte [eax], 0
jne 0x78b670
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 0x78c28a
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.00776b50
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 0x78c2d3
mov dword [eax], 1
jmp 0x78c2f7
cmp dword [esi + 0xc8], 0
je 0x78c2f7
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 0x78c305
cmp eax, ecx
je 0x78c31b
push eax
push ecx
push ebx
call fcn.0078cef0
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 0x78c332
cmp dword [esi + 0x14], 0
jne 0x78c332
mov eax, dword [ebp + 0x14]
mov dword [eax], 1
jmp 0x78c33a
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x78c341
and dword [esi + 0xa8], 0xfffffffe
cmp dword [ebx + 0x2e4], 0
je 0x78c3c1
push edi
push dword [ebp + 8]
push dword [esi + 0x60]
push 1
push ebx
call fcn.00776a70
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.00776b50
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.0078c5e0
add esp, 0xc
test eax, eax
jne 0x78c3c3
cmp dword [esi + 0x50], eax
jne 0x78c3c1
cmp dword [esi + 0x58], 5
jbe 0x78c3c1
push dword [ebx + 0x534]
push dword [ebp + 0xc]
push ebx
call fcn.0078c440
add esp, 0xc
test eax, eax
jne 0x78c3c1
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