Function at 0x46e990
Capabilities:
Check http status code

Disassembly:
sub esp, 0x14
push ebx
mov ebx, dword [esp + 0x20]
push ebp
lea esp, [esp]
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x60], eax
mov ecx, dword [ebx]
push ecx
push 0xa
push eax
call dword [sym.imp.MSVCR80.dll_memchr]
add esp, 0xc
test eax, eax
mov dword [esi + 0x64], eax
je 0x46f3ff
sub eax, dword [esi + 0x5c]
add eax, 1
sub dword [ebx], eax
mov edx, dword [esi + 0x58]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x64]
add eax, 1
mov dword [esi + 0x5c], eax
sub eax, dword [esi + 0x60]
mov ecx, dword [edi + 0x460]
mov ebp, eax
lea eax, [edx + ebp]
cmp eax, ecx
jb 0x46ea38
lea eax, [eax + eax*2]
shr eax, 1
add ecx, ecx
cmp eax, ecx
mov dword [esp + 8], eax
ja 0x46e9fd
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0x45c]
mov ebx, dword [esi + 0x54]
push ecx
push eax
sub ebx, eax
call dword [0x4b2008]
add esp, 8
test eax, eax
je 0x46f442
mov edx, dword [esp + 8]
mov dword [edi + 0x45c], eax
add eax, ebx
mov ebx, dword [esp + 0x24]
mov dword [edi + 0x460], edx
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x54]
push ebp
push eax
push ecx
call sub.MSVCR80.dll_memcpy
add dword [esi + 0x54], ebp
mov eax, dword [esi + 0x54]
add dword [esi + 0x58], ebp
mov byte [eax], 0
mov edx, dword [esi + 0x54]
mov dword [esi + 0x64], edx
mov eax, dword [edi + 0x45c]
add esp, 0xc
cmp dword [esi + 0x50], 0
mov dword [esi + 0x68], eax
jne 0x46ea89
cmp dword [esi + 0x58], 5
jbe 0x46ea89
mov ecx, dword [edi + 0x45c]
push ecx
mov eax, edi
call fcn.0046e810
add esp, 4
test al, al
je 0x46f4ce
mov eax, dword [esi + 0x68]
mov cl, byte [eax]
cmp cl, 0xa
je 0x46f259
cmp cl, 0xd
je 0x46f25e
mov ecx, dword [esi + 0x50]
test ecx, ecx
lea edx, [ecx + 1]
mov dword [esi + 0x50], edx
jne 0x46ec21
mov ebp, dword [esp + 0x20]
lea ebx, [esi + 0x78]
push ebx
add ebp, 0xc0
push ebp
lea ecx, [esp + 0x14]
push ecx
push str._HTTP__d._d__3d
push eax
call dword [sym.imp.MSVCR80.dll_sscanf]
add esp, 0x14
cmp eax, 3
jne 0x46eae7
mov eax, dword [esp + 0xc]
lea edx, [eax + eax*4]
add edx, edx
add dword [ebp], edx
jmp 0x46eb28
mov eax, dword [esi + 0x68]
push ebx
push str._HTTP__3d
push eax
call dword [sym.imp.MSVCR80.dll_sscanf]
add esp, 0xc
test eax, eax
mov dword [ebp], 0xa
jne 0x46eb28
mov ecx, dword [esi + 0x68]
push ecx
mov eax, edi
call fcn.0046e810
add esp, 4
test al, al
je 0x46f4fb
mov dword [ebx], 0xc8
mov dword [ebp], 0xa
mov edx, dword [ebx]
mov dword [edi + 0x8560], edx
mov eax, dword [ebp]
mov dword [edi + 0x8568], eax
mov eax, dword [edi + 0x8530]
test eax, eax
je 0x46eb48
cmp eax, dword [ebp]
jle 0x46eb51
mov ecx, dword [ebp]
mov dword [edi + 0x8530], ecx
cmp byte [edi + 0x260], 0
je 0x46ebae
mov eax, dword [ebx]
cmp eax, 0x190
jl 0x46ebae
cmp eax, 0x191
mov ecx, dword [esp + 0x20]
jne 0x46eb77
cmp byte [ecx + 0x12c], 0
jne 0x46ebb2
cmp eax, 0x197
jne 0x46eb87
cmp byte [ecx + 0x12d], 0
jne 0x46ebb2
mov edx, dword [edi + 0x8550]
or edx, dword [edi + 0x8554]
je 0x46eba5
cmp dword [edi + 0x1e0], 1
jne 0x46eba5
cmp eax, 0x1a0
je 0x46ebb2
mov ecx, dword [esi + 0x78]
push ecx
jmp 0x46f524
mov ecx, dword [esp + 0x20]
mov ebp, dword [ebp]
cmp ebp, 0xa
jne 0x46ebd5
push str.HTTP_1.0__assume_close_after_body_n
push edi
call fcn.00472980
mov eax, dword [esp + 0x28]
add esp, 8
mov byte [eax + 0x128], 1
jmp 0x46ebea
cmp ebp, 0xb
jl 0x46ebea
cmp byte [ecx + 0x128], 0
jne 0x46ebea
mov byte [ecx + 0x172], 1
mov ebx, dword [ebx]
sub ebx, 0xcc
je 0x46ebfe
sub ebx, 0x64
je 0x46ebfe
sub ebx, 0x70
jne 0x46ec21
xor eax, eax
cmp dword [edi + 0x1d0], eax
je 0x46ec0f
mov byte [edi + 0x8570], 1
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov byte [esi + 0xae], 1
cmp byte [esi + 0xae], 0
jne 0x46ed2d
cmp byte [edi + 0x287], 0
jne 0x46ed2d
mov ecx, dword [esi + 0x68]
push 0xf
push ecx
push str.Content_Length:
call fcn.0047ad20
add esp, 0xc
test eax, eax
je 0x46ed2d
mov edx, dword [esi + 0x68]
push 0xa
add edx, 0xf
push 0
push edx
call dword [sym.imp.MSVCR80.dll__strtoi64]
mov ebx, dword [edi + 0x240]
mov ecx, dword [edi + 0x244]
mov ebp, ebx
add esp, 0xc
or ebp, ecx
je 0x46ec8e
cmp edx, ecx
jg 0x46f507
jl 0x46ec8e
cmp eax, ebx
ja 0x46f507
test edx, edx
jl 0x46ed10
jg 0x46ec98
test eax, eax
jb 0x46ed10
push edx
push eax
push edi
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
call fcn.0047a4f0
add esp, 0xc
mov ebx, dword [esp + 0x20]
cmp byte [edi + 0x263], 0
mov ebp, 2
je 0x46ecc5
mov ebp, 3
cmp byte [edi + 0x270], 0
je 0x46ece2
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x68]
push ebx
push ecx
push edx
push 1
push edi
call fcn.00472880
add esp, 0x14
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x68]
push eax
push ecx
push ebp
push ebx
call fcn.00472ba0
add esp, 0x10
test eax, eax
jne 0x46f5ca
mov edx, dword [esi + 0x58]
add dword [edi + 0x8574], edx
mov eax, dword [esi + 0x58]
add dword [edi + 0x48], eax
jmp 0x46f3cd
mov ecx, dword [esp + 0x20]
push edx
push eax
push str.Negative_content_length:__lld__closing_after_transfer_n
push edi
mov byte [ecx + 0x128], 1
call fcn.00472980
add esp, 0x10
jmp 0x46ecae
mov edx, dword [esi + 0x68]
push 0xd
push edx
push str.Content_Type:
call fcn.0047ad20
add esp, 0xc
test eax, eax
je 0x46ed88
mov eax, dword [esi + 0x68]
push eax
call fcn.00475600
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x46f450
cmp byte [ebx], 0
jne 0x46ed6e
push ebx
call dword [0x4b2004]
add esp, 4
jmp 0x46ecae
mov ecx, dword [edi + 0x8588]
push ecx
call fcn.00469b20
add esp, 4
mov dword [edi + 0x8588], ebx
jmp 0x46ecae
mov ebx, dword [esp + 0x20]
mov ebp, 0xa
cmp dword [ebx + 0xc0], ebp
jne 0x46edd6
cmp byte [ebx + 0x12b], 0
je 0x46edd6
mov edx, dword [esi + 0x68]
push str.keep_alive
push str.Proxy_Connection:
push edx
call fcn.00476060
add esp, 0xc
test al, al
je 0x46edd6
push str.HTTP_1.0_proxy_connection_set_to_keep_alive__n
push edi
mov byte [ebx + 0x128], 0
call fcn.00472980
add esp, 8
jmp 0x46ecb2
cmp dword [ebx + 0xc0], 0xb
jne 0x46ee1c
cmp byte [ebx + 0x12b], 0
je 0x46ee1c
mov eax, dword [esi + 0x68]
push str.close
push str.Proxy_Connection:
push eax
call fcn.00476060
add esp, 0xc
test al, al
je 0x46ee1c
push str.HTTP_1.1_proxy_connection_set_close__n
push edi
mov byte [ebx + 0x128], 1
call fcn.00472980
add esp, 8
jmp 0x46ecb2
cmp dword [ebx + 0xc0], ebp
jne 0x46ee58
mov ecx, dword [esi + 0x68]
push str.keep_alive
push str.Connection:
push ecx
call fcn.00476060
add esp, 0xc
test al, al
je 0x46ee58
push str.HTTP_1.0_connection_set_to_keep_alive__n
push edi
mov byte [ebx + 0x128], 0
call fcn.00472980
add esp, 8
jmp 0x46ecb2
mov edx, dword [esi + 0x68]
push str.close
push str.Connection:
push edx
call fcn.00476060
add esp, 0xc
test al, al
je 0x46ee7e
mov byte [ebx + 0x128], 1
jmp 0x46ecb2
mov eax, dword [esi + 0x68]
push str.chunked
push str.Transfer_Encoding:
push eax
call fcn.00476060
add esp, 0xc
test al, al
je 0x46eead
push ebx
mov byte [esi + 0xc0], 1
call fcn.0047c3f0
add esp, 4
jmp 0x46ecb2
mov ecx, dword [esi + 0x68]
push 8
push ecx
push str.Trailer:
call fcn.0047ad20
add esp, 0xc
test eax, eax
jne 0x46f24d
mov edx, dword [esi + 0x68]
push 9
push edx
push str.Trailers:
call fcn.0047ad20
add esp, 0xc
test eax, eax
jne 0x46f24d
mov eax, dword [esi + 0x68]
push 0x11
push eax
push str.Content_Encoding:
call fcn.0047ad20
add esp, 0xc
test eax, eax
je 0x46efef
cmp dword [edi + 0x2b8], 0
je 0x46efef
mov ebp, dword [esi + 0x68]
mov al, byte [ebp + 0x11]
add ebp, 0x11
test al, al
je 0x46ef37
mov ebx, dword [sym.imp.MSVCR80.dll_isspace]
mov edi, edi
movzx ecx, al
push ecx
call ebx
add esp, 4
test eax, eax
je 0x46ef37
mov al, byte [ebp + 1]
add ebp, 1
test al, al
jne 0x46ef20
push 8
push ebp
push str.identity
call fcn.0047ad20
add esp, 0xc
test eax, eax
je 0x46ef5a
mov dword [esi + 0x88], 0
jmp 0x46ecae
push 7
push ebp
push str.deflate
call fcn.0047ad20
add esp, 0xc
test eax, eax
je 0x46ef7d
mov dword [esi + 0x88], 1
jmp 0x46ecae
push 4
push ebp
push str.gzip
call fcn.0047ad20
add esp, 0xc
test eax, eax
jne 0x46efe0
push 6
push ebp
push str.x_gzip
call fcn.0047ad20
add esp, 0xc
test eax, eax
jne 0x46efe0
push 8
push ebp
push str.compress
call fcn.0047ad20
add esp, 0xc
test eax, eax
jne 0x46efd1
push 0xa
push ebp
push str.x_compress
call fcn.0047ad20
add esp, 0xc
test eax, eax
je 0x46ecae
mov dword [esi + 0x88], 3
jmp 0x46ecae
mov dword [esi + 0x88], 2
jmp 0x46ecae
mov edx, dword [esi + 0x68]
push 0xe
push edx
push str.Content_Range:
call fcn.0047ad20
add esp, 0xc
test eax, eax
je 0x46f075
mov ebp, dword [esi + 0x68]
mov al, byte [ebp + 0xe]
add ebp, 0xe
test al, al
je 0x46f03b
mov ebx, dword [sym.imp.MSVCR80.dll_isdigit]
lea esp, [esp]
movzx eax, al
push eax
call ebx
add esp, 4
test eax, eax
jne 0x46f037
mov al, byte [ebp + 1]
add ebp, 1
test al, al
jne 0x46f020
mov ebx, dword [esp + 0x20]
push 0xa
push 0
push ebp
call dword [sym.imp.MSVCR80.dll__strtoi64]
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
mov ecx, dword [edi + 0x8550]
add esp, 0xc
cmp ecx, eax
jne 0x46ecb2
mov edx, dword [edi + 0x8554]
cmp edx, dword [esi + 0x74]
jne 0x46ecae
mov byte [esi + 0x6c], 1
jmp 0x46ecb2
cmp dword [edi + 0x344], 0
je 0x46f0e0
mov eax, dword [esi + 0x68]
push 0xb
push eax
push str.Set_Cookie:
call fcn.0047ad20
add esp, 0xc
test eax, eax
je 0x46f0e0
push 2
push 2
push edi
call fcn.00474b40
mov eax, dword [ebx + 0x168]
add esp, 0xc
test eax, eax
jne 0x46f0b2
mov eax, dword [ebx + 0x8c]
mov ecx, dword [edi + 0x8544]
mov edx, dword [esi + 0x68]
push ecx
push eax
mov eax, dword [edi + 0x344]
add edx, 0xb
push edx
push 1
push eax
push edi
call fcn.00471760
push 2
push edi
call fcn.00474b80
add esp, 0x20
jmp 0x46ecb2
mov ecx, dword [esi + 0x68]
push 0xe
push ecx
push str.Last_Modified:
call fcn.0047ad20
add esp, 0xc
test eax, eax
je 0x46f153
cmp dword [edi + 0x1d0], 0
jne 0x46f109
cmp byte [edi + 0x259], 0
je 0x46f153
push 0
call dword [sym.imp.MSVCR80.dll__time64]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x68]
mov dword [esp + 0x1c], edx
lea edx, [esp + 0x18]
push edx
add eax, 0xe
push eax
call fcn.0047c3c0
add esp, 0xc
mov dword [esi + 0x90], eax
mov dword [esi + 0x94], edx
cmp byte [edi + 0x259], 0
je 0x46ecb2
mov ecx, eax
mov dword [edi + 0x856c], ecx
jmp 0x46ecb2
mov edx, dword [esi + 0x68]
push 0x11
push edx
push str.WWW_Authenticate:
call fcn.0047ad20
add esp, 0xc
test eax, eax
je 0x46f174
mov eax, dword [esi + 0x78]
cmp eax, 0x191
je 0x46f195
mov eax, dword [esi + 0x68]
push 0x13
push eax
push str.Proxy_authenticate:
call fcn.0047ad20
add esp, 0xc
test eax, eax
je 0x46f1b0
mov eax, dword [esi + 0x78]
cmp eax, 0x197
jne 0x46f1b0
mov ecx, dword [esi + 0x68]
push ecx
push eax
push ebx
call fcn.00475ba0
add esp, 0xc
test eax, eax
jne 0x46f5ca
jmp 0x46ecb2
mov eax, dword [esi + 0x78]
cmp eax, 0x12c
jl 0x46ecb2
cmp eax, 0x190
jge 0x46ecb2
mov edx, dword [esi + 0x68]
push 9
push edx
push str.Location:
call fcn.0047ad20
add esp, 0xc
test eax, eax
je 0x46ecb2
mov eax, dword [esi + 0x68]
push eax
call fcn.00475600
add esp, 4
test eax, eax
je 0x46f450
cmp byte [eax], 0
jne 0x46f20c
push eax
call dword [0x4b2004]
add esp, 4
jmp 0x46ecb2
cmp byte [edi + 0x261], 0
mov dword [edi + 0xc8], eax
je 0x46ecb2
push eax
call dword [0x4b200c]
add esp, 4
test eax, eax
mov dword [edi + 0xcc], eax
je 0x46f450
push ebx
call fcn.00475810
add esp, 4
test eax, eax
jne 0x46f5ca
jmp 0x46ecb2
mov byte [esi + 0xc4], 1
jmp 0x46ecb2
cmp cl, 0xd
jne 0x46f264
add eax, 1
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
cmp byte [eax], 0xa
jne 0x46f272
add eax, 1
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x78]
cmp eax, 0x64
jl 0x46f2a1
cmp eax, 0xc7
jg 0x46f2a1
xor eax, eax
cmp dword [esi + 0x84], eax
mov byte [esi + 0x48], 1
mov dword [esi + 0x50], eax
je 0x46f2e3
or dword [esi + 0xa8], 2
mov dword [esi + 0x84], eax
jmp 0x46f2e3
mov edx, dword [esi]
and edx, dword [esi + 4]
mov byte [esi + 0x48], 0
cmp edx, 0xffffffff
jne 0x46f2e3
cmp byte [esi + 0xc0], 0
jne 0x46f2e3
mov ebx, dword [esp + 0x20]
cmp byte [ebx + 0x128], 0
jne 0x46f2e3
cmp dword [ebx + 0xc0], 0xb
jl 0x46f2e3
push str.no_chunk__no_close__no_size._Assume_close_to_signal_end_n
push edi
call fcn.00472980
add esp, 8
mov byte [ebx + 0x128], 1
cmp dword [esi + 0x78], 0x1a1
jne 0x46f2fd
and dword [esi + 0xa8], 0xfffffffd
mov dword [esi + 0x84], 3
mov eax, dword [esp + 0x20]
push eax
call fcn.00475ca0
add esp, 4
test eax, eax
jne 0x46f520
cmp byte [edi + 0x263], al
lea ecx, [eax + 2]
je 0x46f320
lea ecx, [eax + 3]
mov eax, dword [edi + 0x45c]
mov ebp, dword [esi + 0x68]
mov ebx, dword [esp + 0x20]
sub ebp, eax
push ebp
push eax
push ecx
push ebx
call fcn.00472ba0
add esp, 0x10
test eax, eax
jne 0x46f5ca
add dword [edi + 0x48], ebp
add dword [edi + 0x8574], ebp
mov eax, dword [esi + 0x78]
cmp eax, 0x64
mov ecx, dword [edi + 0x48]
jl 0x46f35e
cmp eax, 0xc7
jle 0x46f360
xor ecx, ecx
mov dword [edi + 0x4c], ecx
mov ecx, dword [edi + 0x8550]
or ecx, dword [edi + 0x8554]
je 0x46f38c
cmp dword [edi + 0x1e0], 1
jne 0x46f38c
cmp dword [esi + 0x78], 0x1a0
jne 0x46f38c
mov edx, dword [esp + 0x28]
mov byte [edx], 1
jmp 0x46f3c3
mov eax, dword [esp + 0x28]
cmp byte [eax], 0
jne 0x46f3c3
push ebx
call fcn.004762b0
add esp, 4
test eax, eax
jne 0x46f5ca
cmp byte [ebx + 0x137], al
je 0x46f3c3
push str.Keep_sending_data_to_get_tossed_away__n
push edi
call fcn.00472980
add esp, 8
or dword [esi + 0xa8], 2
cmp byte [esi + 0x48], 0
je 0x46f53d
mov ecx, dword [edi + 0x45c]
mov edx, dword [esp + 0x28]
mov dword [esi + 0x58], 0
mov dword [esi + 0x54], ecx
cmp byte [edx], 0
jne 0x46f5c8
mov eax, dword [esi + 0x5c]
cmp byte [eax], 0
je 0x46f5c8
mov ebx, dword [esp + 0x24]
jmp 0x46e9a0
mov ecx, dword [esi + 0x58]
mov edx, dword [ebx]
lea eax, [ecx + edx]
mov ecx, dword [edi + 0x460]
cmp eax, ecx
jb 0x46f470
lea eax, [eax + eax*2]
shr eax, 1
add ecx, ecx
cmp eax, ecx
mov dword [esp + 8], eax
ja 0x46f424
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0x45c]
mov ebp, dword [esi + 0x54]
push ecx
push eax
sub ebp, eax
call dword [0x4b2008]
add esp, 8
test eax, eax
jne 0x46f45b
push str.Failed_to_alloc_memory_for_big_header_
push edi
call fcn.00472a10
add esp, 8
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x14
ret
mov edx, dword [esp + 8]
mov dword [edi + 0x45c], eax
add eax, ebp
mov dword [edi + 0x460], edx
mov dword [esi + 0x54], eax
mov eax, dword [ebx]
mov ecx, dword [esi + 0x5c]
mov edx, dword [esi + 0x54]
push eax
push ecx
push edx
call sub.MSVCR80.dll_memcpy
mov eax, dword [ebx]
add dword [esi + 0x54], eax
mov ecx, dword [ebx]
add dword [esi + 0x58], ecx
mov eax, dword [esi + 0x58]
add esp, 0xc
cmp dword [esi + 0x50], 0
jne 0x46f5c8
cmp eax, 5
jbe 0x46f5c8
mov edx, dword [edi + 0x45c]
push edx
mov eax, edi
call fcn.0046e810
add esp, 4
test al, al
jne 0x46f5c8
pop ebp
mov byte [esi + 0x48], al
mov dword [esi + 0x4c], 2
xor eax, eax
pop ebx
add esp, 0x14
ret
mov byte [esi + 0x48], 0
cmp dword [ebx], 0
je 0x46f4e6
pop ebp
mov dword [esi + 0x4c], 1
xor eax, eax
pop ebx
add esp, 0x14
ret
mov eax, dword [esp + 0x10]
mov dword [esi + 0x4c], 2
mov dword [ebx], eax
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret
pop ebp
mov byte [esi + 0x48], 0
xor eax, eax
pop ebx
add esp, 0x14
ret
push str.Maximum_file_size_exceeded
push edi
call fcn.00472a10
add esp, 8
pop ebp
mov eax, 0x3f
pop ebx
add esp, 0x14
ret
mov edx, dword [esi + 0x78]
push edx
push str.The_requested_URL_returned_error:__d
push edi
call fcn.00472a10
add esp, 0xc
pop ebp
mov eax, 0x16
pop ebx
add esp, 0x14
ret
cmp byte [edi + 0x266], 0
je 0x46f54f
mov eax, dword [esp + 0x28]
mov byte [eax], 1
jmp 0x46f565
cmp byte [esi + 0xc0], 0
je 0x46f565
mov dword [esi], 0xffffffff
mov dword [esi + 4], 0xffffffff
mov eax, dword [esi]
cmp eax, 0xffffffff
mov ecx, dword [esi + 4]
jne 0x46f573
cmp ecx, eax
je 0x46f589
push ecx
push eax
push edi
call fcn.0047a4f0
mov ecx, dword [esi]
mov edx, dword [esi + 4]
add esp, 0xc
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
cmp dword [esi + 0x10], 0
jne 0x46f59e
cmp dword [esi + 0x14], 0
jne 0x46f59e
mov eax, dword [esp + 0x28]
mov byte [eax], 1
jmp 0x46f5a7
mov ecx, dword [esp + 0x28]
cmp byte [ecx], 0
je 0x46f5ae
and dword [esi + 0xa8], 0xfffffffe
cmp byte [edi + 0x270], 0
je 0x46f5c8
mov edx, dword [esi + 0x60]
push ebx
push ebp
push edx
push 1
push edi
call fcn.00472880
add esp, 0x14
xor eax, eax
pop ebp
pop ebx
add esp, 0x14
ret