Function at 0x471ade
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4add64
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c
mov eax, dword [esp + 0x6c]
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov ecx, dword [esp + 0x80]
mov edx, dword [esi + 0x228]
mov ebx, dword [esi + 0x224]
lea edi, [eax + ecx]
lea ebp, [esi + 0x21c]
mov dword [esp + 0x1c], edi
sub edi, eax
mov eax, dword [ebp + 8]
sub edx, eax
cmp edx, edi
jae 0x471bfb
mov edx, dword [ebp + 4]
test edx, edx
je 0x471b20
mov ecx, eax
sub ecx, edx
cmp edi, ecx
jb 0x471b22
mov ecx, edi
test edx, edx
jne 0x471b2a
xor eax, eax
jmp 0x471b2c
sub eax, edx
add eax, ecx
test eax, eax
mov dword [esp + 0x34], eax
jge 0x471b38
xor eax, eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 4]
add esp, 4
cmp eax, ebx
mov dword [esp + 0x14], eax
je 0x471b7c
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call fcn.0046c820
mov eax, dword [esp + 0x18]
add esp, 8
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jne 0x471b54
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
push edx
push eax
push ecx
mov ecx, ebp
call fcn.0046c7f0
mov edx, dword [ebp + 8]
push eax
push edx
push ebx
mov ecx, ebp
call fcn.0046c7f0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
push eax
push ecx
mov ecx, ebp
call fcn.0042ab70
mov eax, dword [ebp + 4]
push eax
call fcn.00442ac0
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
add edx, eax
mov eax, dword [ebp + 4]
add esp, 4
mov dword [ebp + 0xc], edx
test eax, eax
jne 0x471be3
mov eax, dword [esp + 0x2c]
xor ecx, ecx
mov ecx, eax
mov dword [ebp + 4], eax
add ecx, edi
mov dword [ebp + 8], ecx
jmp 0x471c7d
mov ecx, dword [ebp + 8]
sub ecx, eax
mov eax, dword [esp + 0x2c]
add ecx, eax
mov dword [ebp + 4], eax
add ecx, edi
mov dword [ebp + 8], ecx
jmp 0x471c7d
mov ecx, eax
sub ecx, ebx
cmp ecx, edi
jae 0x471c3c
lea edx, [edi + ebx]
mov ecx, ebp
push edx
push eax
push ebx
call fcn.0046c7f0
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
mov ecx, dword [esp + 0x84]
sub eax, ebx
add eax, ecx
mov ecx, ebp
push eax
call fcn.0046c7f0
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x7c]
sub edx, ebx
push ebx
add edx, eax
push edx
push eax
jmp 0x471c6d
test edi, edi
jbe 0x471c7d
push eax
push eax
sub eax, edi
mov ecx, ebp
push eax
call fcn.0046c7f0
mov ecx, dword [ebp + 8]
mov eax, ecx
sub eax, edi
cmp ebx, eax
je 0x471c62
mov dl, byte [eax - 1]
dec eax
dec ecx
cmp eax, ebx
mov byte [ecx], dl
jne 0x471c57
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
push ebx
push eax
push ecx
call fcn.00474620
mov eax, dword [ebp + 8]
add esp, 0xc
add eax, edi
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 4]
test ecx, ecx
jne 0x471c88
xor eax, eax
jmp 0x471c8d
mov eax, dword [ebp + 8]
sub eax, ecx
mov ecx, dword [esi + 0x220]
lea ebx, [esi + 0x230]
push eax
push ecx
mov ecx, ebx
call fcn.0047d7c0
test eax, eax
jne 0x471cb1
push eax
push 0x5015
jmp 0x47255b
mov ecx, ebx
call fcn.00453c50
test eax, eax
je 0x472569
mov ecx, esi
call fcn.00473dd0
mov ecx, ebx
call fcn.0047ee10
mov dword [esi + 0x108], eax
mov ecx, ebx
mov dword [esi + 0x10c], edx
call fcn.0047f920
cmp eax, 0xce
jne 0x471d19
mov ecx, ebx
call fcn.00401330
test eax, eax
je 0x471d19
mov ecx, ebx
call fcn.0047edf0
mov dword [esi + 0x110], eax
mov ecx, ebx
mov dword [esi + 0x114], edx
call fcn.0047ee00
mov dword [esi + 0x118], eax
mov dword [esi + 0x11c], edx
mov ecx, ebx
call fcn.0047f920
mov ecx, ebx
mov dword [esi + 0x140], eax
call fcn.0047ee20
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ecx, dword [edx]
push ecx
push 0
push eax
lea ecx, [esi + 0x74]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov dword [esi + 0x198], eax
call edi
mov dword [esi + 0x190], eax
mov edx, dword [esi + 0x15c]
lea eax, [esp + 0x1c]
push edx
push eax
call fcn.00464c70
add esp, 8
mov eax, dword [eax + 4]
mov edi, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
test eax, eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x7c], edi
je 0x471d89
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 0x88]
test eax, eax
je 0x471d95
mov edi, eax
mov ecx, ebx
call fcn.0047ee10
push edx
push eax
mov ecx, ebx
call fcn.0047f920
push eax
mov ecx, ebx
call fcn.0043f0f0
mov ecx, dword [esp + 0x88]
mov edx, dword [esi + 0xe4]
push eax
mov eax, dword [esi + 0xe0]
push ecx
push edi
push edx
push eax
push str.__d._3d___s__s__Receive_Header_Completed____d_bytes___status_code:_d___Content_Length_:__I64d
push 0x4d35d0
call fcn.0045ee70
add esp, 0x28
lea ecx, [esp + 0x1c]
mov dword [esp + 0x74], 0xffffffff
push 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov ecx, ebx
call fcn.0047f920
cmp eax, 0xc8
jne 0x471f4f
mov eax, dword [str._HTML]
mov ecx, dword [str._html]
mov dx, word [0x4ca2a0]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x34], ecx
mov cx, word [0x4ca2a8]
mov word [esp + 0x38], dx
test eax, eax
mov word [esp + 0x30], cx
jne 0x471e33
xor edx, edx
jmp 0x471e38
mov edx, dword [ebp + 8]
sub edx, eax
lea edi, [esp + 0x34]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x34]
push ecx
push eax
mov eax, dword [esi + 0x220]
push edx
push eax
mov ecx, esi
call fcn.00471a00
test eax, eax
jne 0x471e96
mov eax, dword [ebp + 4]
test eax, eax
jne 0x471e6a
xor edx, edx
jmp 0x471e6f
mov edx, dword [ebp + 8]
sub edx, eax
lea edi, [esp + 0x2c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esi + 0x220]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x30]
push ecx
push edx
push eax
mov ecx, esi
call fcn.00471a00
test eax, eax
je 0x471ea8
push str.NETCHECK_URL:
push 0x4d35d0
call fcn.0045ef50
add esp, 8
mov eax, dword [0x4ca250]
mov edx, dword [str._title_]
mov ecx, dword [str._TITLE_]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x1c], edx
mov edx, dword [0x4ca248]
mov dword [esp + 0x14], ecx
test eax, eax
mov dword [esp + 0x18], edx
jne 0x471eda
xor edx, edx
jmp 0x471edf
mov edx, dword [ebp + 8]
sub edx, eax
lea edi, [esp + 0x1c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x1c]
push ecx
push eax
mov eax, dword [esi + 0x220]
push edx
push eax
mov ecx, esi
call fcn.00471a00
test eax, eax
jne 0x471f3d
mov eax, dword [ebp + 4]
test eax, eax
jne 0x471f11
xor edx, edx
jmp 0x471f16
mov edx, dword [ebp + 8]
sub edx, eax
lea edi, [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esi + 0x220]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x18]
push ecx
push edx
push eax
mov ecx, esi
call fcn.00471a00
test eax, eax
je 0x471f4f
push str.NETCHECK_URL:
push 0x4d35d0
call fcn.0045ef50
add esp, 8
mov ecx, ebx
call fcn.0047f920
cmp eax, 0xc8
je 0x47210f
mov ecx, ebx
call fcn.0047f920
cmp eax, 0xce
je 0x47210f
mov ecx, ebx
call fcn.0047f920
cmp eax, 0x12d
je 0x47210f
mov ecx, ebx
call fcn.0047f920
cmp eax, 0x12e
je 0x47210f
mov ecx, ebx
call fcn.0047f920
cmp eax, 0x12f
je 0x47210f
mov ecx, ebx
call fcn.0047f920
cmp eax, 0x130
je 0x47210f
mov ecx, ebx
call fcn.0047f920
cmp eax, 0x133
je 0x47210f
mov ecx, ebx
call fcn.0047f920
cmp eax, 0x197
jne 0x472545
mov eax, dword [esi + 0xd8]
mov edi, 1
cmp eax, edi
jne 0x472545
mov dl, byte [esp + 0x80]
push 0
lea ecx, [esp + 0x60]
mov byte [esp + 0x60], dl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [esi + 0x3e0]
mov dword [esp + 0x74], edi
test eax, eax
jne 0x4720e8
mov eax, dword [esi + 0xdc]
cmp eax, 3
je 0x47202f
cmp eax, 2
jne 0x4720e8
lea eax, [esp + 0x5c]
mov ecx, ebx
push eax
push str.Proxy_Authenticate
call fcn.0047eb00
test eax, eax
je 0x4720e8
push str.Keep_Alive
push str.Proxy_Connection
mov ecx, ebx
call fcn.0047ed50
test eax, eax
je 0x472065
mov dword [esi + 0x3e4], edi
jmp 0x47206f
mov dword [esi + 0x3e4], 0
mov eax, dword [esi + 0xdc]
cmp eax, 2
jne 0x47209f
mov edx, dword [esp + 0x60]
test edx, edx
jne 0x472088
mov edx, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov edi, str.NTLM
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.NTLM
jmp 0x4720c7
cmp eax, 3
jne 0x4720e8
mov edx, dword [esp + 0x60]
test edx, edx
jne 0x4720b2
mov edx, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov edi, str.Negotiate
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.Negotiate
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x4720e8
mov ecx, esi
mov dword [esi + 0x3e0], 1
call fcn.004725a0
jmp 0x4720f6
push 0
push 0x507b
mov ecx, esi
call fcn.00470010
push 1
lea ecx, [esp + 0x60]
mov dword [esp + 0x78], 0xffffffff
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
jmp 0x472562
push 6
mov ecx, esi
call fcn.00472f50
mov ecx, ebx
call fcn.0047f920
mov ecx, dword [esi + 0xe4]
mov edx, dword [esi + 0xe0]
push eax
push ecx
push 0x66
push edx
mov ecx, 0x4d34a0
call fcn.0045ce30
mov ecx, ebx
call fcn.0047f920
cmp eax, 0x12d
je 0x47218a
mov ecx, ebx
call fcn.0047f920
cmp eax, 0x12e
je 0x47218a
mov ecx, ebx
call fcn.0047f920
cmp eax, 0x12f
je 0x47218a
mov ecx, ebx
call fcn.0047f920
cmp eax, 0xc8
je 0x472180
mov ecx, ebx
call fcn.0047f920
cmp eax, 0xce
jne 0x4721de
xor edi, edi
mov dword [esi + 0x174], edi
jmp 0x4721e0
mov edi, dword [esi + 0x174]
mov edx, dword [esi + 0x178]
inc edi
inc edx
mov eax, edi
mov dword [esi + 0x174], edi
cmp eax, 5
mov dword [esi + 0x178], edx
jl 0x4721b7
push 0
push 0x5017
jmp 0x47255b
mov ecx, ebx
call fcn.0047ee20
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x472554
mov eax, dword [esi + 0x158]
test eax, eax
je 0x472523
mov ecx, esi
call fcn.00472690
xor edi, edi
mov cl, byte [esp + 0x80]
mov dword [esp + 0x50], edi
mov byte [esp + 0x4c], cl
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dl, byte [esp + 0x80]
mov dword [esp + 0x74], 2
mov byte [esp + 0x3c], dl
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
mov ecx, ebx
mov byte [esp + 0x74], 3
call fcn.0047ee30
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov edx, dword [ecx]
lea ecx, [esp + 0x4c]
push edx
push edi
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov ecx, ebx
call fcn.0047ee40
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov edx, dword [ecx]
lea ecx, [esp + 0x3c]
push edx
push edi
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov eax, dword [esp + 0x54]
cmp eax, edi
je 0x47231f
mov ecx, dword [esp + 0x50]
cmp ecx, edi
jne 0x47226d
mov ecx, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push eax
push str.chunked
push ecx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x4722b2
mov eax, dword [esp + 0x54]
cmp eax, edi
je 0x47231f
mov eax, dword [esp + 0x40]
cmp eax, edi
jne 0x47229a
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov ecx, dword [esp + 0x44]
push ecx
push str.gzip
push eax
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x47231f
push edi
push 0x501a
mov ecx, esi
call fcn.00470010
mov ecx, dword [esp + 0x40]
cmp ecx, edi
je 0x4722e3
mov al, byte [ecx - 1]
test al, al
je 0x4722d9
cmp al, 0xff
je 0x4722d9
dec al
mov byte [ecx - 1], al
jmp 0x4722e3
dec ecx
push ecx
call fcn.00442ac0
add esp, 4
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x40], edi
cmp ecx, edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
je 0x472562
mov al, byte [ecx - 1]
test al, al
je 0x472310
cmp al, 0xff
je 0x472310
dec al
mov byte [ecx - 1], al
jmp 0x472562
dec ecx
push ecx
call fcn.00442ac0
add esp, 4
jmp 0x472562
mov eax, dword [ebp + 4]
cmp eax, edi
jne 0x47232a
xor ebp, ebp
jmp 0x47232f
mov ebp, dword [ebp + 8]
sub ebp, eax
mov ecx, ebx
call fcn.0043f0f0
mov ebx, dword [esp + 0x80]
mov edx, ebx
sub edx, ebp
add eax, edx
mov dword [esp + 0x80], eax
mov eax, dword [esi + 0x320]
cmp eax, edi
je 0x472447
mov ecx, dword [esi + 0x140]
xor ebp, ebp
xor eax, eax
cmp ecx, 0xc8
jne 0x472378
mov ebp, dword [esi + 0x108]
mov eax, dword [esi + 0x10c]
jmp 0x47239c
cmp ecx, 0xce
jne 0x47239c
mov ebp, dword [esi + 0x118]
mov edx, dword [esi + 0x110]
mov eax, dword [esi + 0x11c]
mov ecx, dword [esi + 0x114]
sub ebp, edx
sbb eax, ecx
cmp eax, dword [esi + 0x32c]
ja 0x47246c
jb 0x4723b6
cmp ebp, dword [esi + 0x328]
jae 0x47246c
mov ecx, dword [esi + 0x334]
cmp ecx, edi
jne 0x4723c4
xor eax, eax
jmp 0x4723cc
mov eax, dword [esi + 0x33c]
sub eax, ecx
cmp eax, ebp
jae 0x472447
cmp ebp, edi
mov eax, ebp
jge 0x4723d8
xor eax, eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov edx, dword [esi + 0x338]
mov edi, eax
mov eax, dword [esi + 0x334]
add esp, 4
cmp eax, edx
mov ecx, edi
je 0x472403
test ecx, ecx
je 0x4723fd
mov bl, byte [eax]
mov byte [ecx], bl
inc ecx
inc eax
cmp eax, edx
jne 0x4723f5
mov eax, dword [esi + 0x334]
push eax
mov dword [esp + 0x80], eax
call fcn.00442ac0
mov eax, dword [esi + 0x334]
add esp, 4
add ebp, edi
test eax, eax
mov dword [esi + 0x33c], ebp
jne 0x47242f
xor ecx, ecx
jmp 0x472437
mov ecx, dword [esi + 0x338]
sub ecx, eax
add ecx, edi
mov dword [esi + 0x334], edi
mov dword [esi + 0x338], ecx
xor edi, edi
mov ecx, esi
call fcn.00472580
mov ecx, dword [esp + 0x40]
cmp ecx, edi
je 0x4724e3
mov al, byte [ecx - 1]
test al, al
je 0x4724d9
cmp al, 0xff
je 0x4724d9
dec al
mov byte [ecx - 1], al
jmp 0x4724e3
push edi
push 0x501b
mov ecx, esi
call fcn.00470010
mov ecx, dword [esp + 0x40]
cmp ecx, edi
je 0x47249d
mov al, byte [ecx - 1]
test al, al
je 0x472493
cmp al, 0xff
je 0x472493
dec al
mov byte [ecx - 1], al
jmp 0x47249d
dec ecx
push ecx
call fcn.00442ac0
add esp, 4
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x40], edi
cmp ecx, edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
je 0x4724d2
mov al, byte [ecx - 1]
test al, al
je 0x4724c8
cmp al, 0xff
je 0x4724c8
dec al
mov byte [ecx - 1], al
mov eax, ebx
jmp 0x472569
dec ecx
push ecx
call fcn.00442ac0
add esp, 4
mov eax, ebx
jmp 0x472569
dec ecx
push ecx
call fcn.00442ac0
add esp, 4
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x40], edi
cmp ecx, edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
je 0x47251a
mov al, byte [ecx - 1]
test al, al
je 0x472510
cmp al, 0xff
je 0x472510
dec al
mov byte [ecx - 1], al
mov eax, dword [esp + 0x80]
jmp 0x472569
dec ecx
push ecx
call fcn.00442ac0
add esp, 4
mov eax, dword [esp + 0x80]
jmp 0x472569
mov ecx, ebx
call fcn.0047f920
mov ecx, dword [esi + 0xe0]
push eax
mov eax, dword [esi + 0xe4]
push eax
push 0x66
push ecx
mov ecx, 0x4d34a0
call fcn.0045ce30
mov ecx, ebx
call fcn.0047f920
push eax
push 0x5016
jmp 0x47255b
push 0
push 0x5019
mov ecx, esi
call fcn.00470010
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x68
ret 8