Function at 0x474910
Capabilities:
Delete file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4ae016
push eax
mov dword fs:[0], esp
sub esp, 0xa4
push ebx
push ebp
mov ebp, ecx
xor ebx, ebx
push esi
push edi
mov dword [ebp + 8], ebx
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x6c], ebx
mov dword [ebp + 0x60], ebx
mov dword [ebp + 0x68], ebx
mov dword [ebp + 0x64], ebx
mov dword [ebp + 0xa8], ebx
mov dword [ebp + 0xa4], ebx
mov dword [ebp + 0xac], ebx
mov dword [ebp + 0xb0], ebx
mov dword [ebp + 0xb4], ebx
mov dword [ebp + 0xb8], ebx
mov dword [ebp + 0xc8], ebx
mov dword [ebp + 0xbc], ebx
mov dword [ebp + 0xc0], ebx
mov dword [ebp + 0xcc], ebx
mov dword [ebp + 0xa0], 2
mov dword [ebp + 0x74], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [esp + 0xcc]
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x38], eax
mov ecx, 0x14
xor eax, eax
lea edi, [ebp + 0x1358]
mov dword [ebp + 0x2c], ebx
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0x40], ebx
mov dword [ebp + 0x44], ebx
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x20], ebx
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x30], 3
mov dword [ebp + 0x78], ebx
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x58], ebx
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0xc4], ebx
mov dword [ebp + 0x7c], ebx
mov dword [ebp + 0x13ac], ebx
push esi
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0xcc]
mov edi, dword [esp + 0xc8]
push eax
push edi
push str.__d.__URL___s_File_s
push 0x4d35d0
mov dword [ebp + 0x13a8], ebx
call fcn.0045ef50
mov ecx, dword [esp + 0xe4]
mov dword [ebp + 0xc], edi
push esi
mov dword [ebp + 0x70], ecx
lea edi, [ebp + 0x80]
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 0x18
mov esi, eax
mov ecx, edi
push 1
push esi
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Grow_unsigned_int__bool_]
test al, al
je 0x474a72
mov edx, dword [esp + 0xcc]
mov eax, dword [edi + 4]
push esi
push edx
push eax
call fcn.00415720
mov eax, dword [edi + 4]
mov dword [edi + 8], esi
add esp, 0xc
mov word [eax + esi*2], bx
lea eax, [eax + esi*2]
mov ecx, dword [esp + 0xcc]
lea esi, [ebp + 0x90]
push ecx
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
mov edi, eax
mov ecx, esi
push 1
push edi
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Grow_unsigned_int__bool_]
test al, al
je 0x474abc
mov edx, dword [esp + 0xcc]
mov eax, dword [esi + 4]
push edi
push edx
push eax
call fcn.00415720
mov eax, dword [esi + 4]
mov dword [esi + 8], edi
add esp, 0xc
mov word [eax + edi*2], bx
lea edi, [eax + edi*2]
push str..P2P
call dword [sym.imp.MSVCRT.dll_wcslen]
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
mov esi, eax
add esp, 4
mov edx, dword [ecx]
mov ecx, dword [ebp + 0x98]
sub edx, ecx
cmp edx, esi
ja 0x474ae6
call dword [sym.imp.MSVCP60.dll_void___cdecl_std::_Xlen_void_]
cmp esi, ebx
jbe 0x474b31
mov edx, dword [ebp + 0x98]
lea ecx, [ebp + 0x90]
mov edi, esi
push ebx
add edi, edx
push edi
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Grow_unsigned_int__bool_]
test al, al
je 0x474b31
mov eax, dword [ebp + 0x98]
mov ecx, dword [ebp + 0x94]
push esi
push str..P2P
lea eax, [ecx + eax*2]
push eax
call fcn.00415720
add esp, 0xc
lea ecx, [ebp + 0x90]
push edi
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__::_Eos_unsigned_int_]
mov esi, dword [esp + 0xc8]
lea ecx, [ebp + 0xd0]
push esi
call fcn.0048a0d0
test eax, eax
jne 0x474b74
push 2
push 0x59
push 0x7b0e
mov ecx, ebp
call fcn.0047bc80
mov edx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0xc]
push esi
push edx
push eax
mov word [ebp + 0x13b4], 0x10
push str.__d.__ErrorCode___d_PDownURL___s
jmp 0x474f8f
mov eax, dword [ebp + 0x12c]
push 0x5da8
mov dword [ebp + 0x30], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x24], eax
cmp eax, ebx
mov dword [esp + 0xbc], ebx
je 0x474ba2
mov ecx, eax
call fcn.00494ca0
jmp 0x474ba4
xor eax, eax
or esi, 0xffffffff
push 0x148
mov dword [esp + 0xc0], esi
mov dword [ebp + 0x10], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
cmp edi, ebx
mov dword [esp + 0xbc], 1
je 0x474c3b
lea ecx, [edi + 0x80]
call fcn.00461450
mov dl, byte [esp + 0x11]
lea ecx, [edi + 0x110]
push ebx
mov byte [ecx], 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 al, byte [esp + 0x11]
mov dword [edi + 0x124], ebx
mov byte [edi + 0x120], al
mov dword [edi + 0x128], ebx
mov dword [edi + 0x12c], ebx
lea ecx, [esp + 0x11]
lea edx, [esp + 0x13]
push ecx
push edx
lea ecx, [edi + 0x130]
mov byte [esp + 0xc4], 3
call fcn.0047c010
mov ecx, edi
mov byte [esp + 0xbc], 4
call fcn.00492270
jmp 0x474c3d
xor edi, edi
mov al, byte [ebp + 0x30]
mov dword [esp + 0xbc], esi
mov dword [ebp + 0x18], edi
mov edi, dword [ebp + 0x110]
mov esi, dword [ebp + 0x114]
mov dword [esp + 0x18], edi
test al, 2
mov dword [esp + 0x1c], esi
je 0x474c72
mov eax, dword [esp + 0xc4]
mov ecx, dword [ebp + 0x10]
push eax
call fcn.004952e0
test byte [ebp + 0x30], 1
je 0x474ca9
mov eax, dword [ebp + 0xf4]
mov ecx, dword [ebp + 0x128]
cmp eax, ebx
jne 0x474c8d
mov eax, 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]
push ecx
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 0x18]
push esi
push edi
push eax
call fcn.00493000
mov eax, dword [ebp + 0x18]
mov edx, dword [0x4d377c]
mov dword [eax + 0x24], edx
push 0x110
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
cmp edi, ebx
mov dword [esp + 0xbc], 5
je 0x474d84
mov esi, dword [ebp + 0xc]
lea ecx, [edi + 0x18]
call fcn.00475390
lea ecx, [edi + 0x50]
call fcn.00463f10
mov al, byte [esp + 0x13]
mov dword [edi + 0xc4], ebx
mov byte [edi + 0xc0], al
mov dword [edi + 0xc8], ebx
mov dword [edi + 0xcc], ebx
lea edx, [esp + 0x13]
lea eax, [esp + 0x11]
push edx
push ebx
lea ecx, [edi + 0xd0]
push eax
mov byte [esp + 0xc8], 7
call fcn.0047c100
mov cl, byte [esp + 0x13]
mov dword [edi + 0xe4], ebx
mov byte [edi + 0xe0], cl
mov dword [edi + 0xe8], ebx
mov dword [edi + 0xec], ebx
lea edx, [esp + 0x2a]
lea eax, [esp + 0x2b]
push edx
push eax
lea ecx, [edi + 0xf0]
mov byte [esp + 0xc4], 9
call fcn.0047be00
lea ecx, [esp + 0x12]
mov byte [esp + 0xbc], 0xa
push ecx
lea ecx, [edi + 0x100]
call fcn.00415f10
mov ecx, edi
mov byte [esp + 0xbc], 0xb
mov dword [edi], esi
call fcn.0048d5d0
mov esi, dword [esp + 0x1c]
jmp 0x474d86
xor edi, edi
mov dword [ebp + 0x1c], edi
mov eax, dword [0x4d37a8]
cmp eax, 2
mov dword [esp + 0xbc], 0xffffffff
ja 0x474da3
mov eax, 2
mov dword [edi + 0xb8], eax
mov eax, dword [0x4d37ac]
mov ecx, dword [ebp + 0x1c]
cmp eax, ebx
jne 0x474dba
mov eax, 1
cmp esi, ebx
mov dword [ecx + 0xbc], eax
ja 0x474dca
cmp dword [esp + 0x18], ebx
jbe 0x474e21
mov edi, dword [ebp + 0x1c]
mov ecx, edi
call fcn.0048d5d0
mov edx, dword [esp + 0x18]
push esi
push edx
mov ecx, edi
call fcn.0048d680
cmp eax, ebx
jne 0x474e29
push 2
push 0x73
push 0x7aa9
mov ecx, ebp
call fcn.0047bc80
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
push str.__d.__ErrorCode___d
push 0x4d35d0
call fcn.0045ef50
add esp, 0x10
mov ecx, ebp
call fcn.004757f0
mov eax, dword [ebp + 0x2c]
mov dword [ebp + 8], ebx
jmp 0x475366
mov ecx, dword [ebp + 0x1c]
call fcn.0048d5d0
push 0x68
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x24], eax
cmp eax, ebx
mov dword [esp + 0xbc], 0xc
je 0x474e5b
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 0xcc]
push edx
push edi
mov ecx, eax
call fcn.0048a250
jmp 0x474e64
mov edi, dword [esp + 0xcc]
xor eax, eax
cmp eax, ebx
mov dword [esp + 0xbc], 0xffffffff
mov dword [ebp + 0x14], eax
jne 0x474eb2
push 2
push 0x7b
push 0x797f
mov ecx, ebp
call fcn.0047bc80
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
push 0x4ca730
push 0x4d35d0
call fcn.0045ef50
add esp, 0x10
mov ecx, ebp
call fcn.004757f0
mov eax, dword [ebp + 0x2c]
mov dword [ebp + 8], ebx
jmp 0x475366
push edi
call fcn.0048c1d0
mov esi, 1
add esp, 4
cmp eax, esi
jne 0x474fae
test byte [ebp + 0x30], 1
je 0x474f4d
mov ecx, ebp
call fcn.00479920
cmp eax, esi
jne 0x474efa
mov ecx, ebp
call fcn.004797f0
cmp eax, esi
jne 0x474efa
push esi
push 0x8c
push ebx
mov ecx, ebp
mov dword [ebp + 8], esi
call fcn.0047bc80
jmp 0x475364
cmp dword [ebp + 0x134], esi
jne 0x474f4d
mov dword [ebp + 8], esi
mov eax, dword [ebp + 0x18]
mov ecx, 0x4d21b8
lea edx, [eax + 0x68]
mov eax, dword [eax + 0x14]
push edx
push eax
call fcn.0044e140
push 2
push 0x93
push 0x7e91
mov ecx, ebp
call fcn.0047bc80
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0xc]
push edi
push ecx
push edx
push str.__d.__ErrorCode___d_
push 0x4d35d0
call fcn.0045ef50
add esp, 0x14
jmp 0x475364
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x474fae
push edi
call fcn.0048c1d0
add esp, 4
cmp eax, esi
jne 0x474fae
push 2
push 0x9a
push 0x7a45
mov ecx, ebp
call fcn.0047bc80
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0xc]
push eax
push edi
push ecx
mov word [ebp + 0x13b4], 7
push str.__d.__FileName_s__ErrorCode__d
push 0x4d35d0
call fcn.0045ef50
add esp, 0x14
mov ecx, ebp
call fcn.004757f0
mov eax, dword [ebp + 0x2c]
mov dword [ebp + 8], ebx
jmp 0x475366
mov eax, dword [ebp + 0x94]
cmp eax, ebx
jne 0x474fbd
mov eax, 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]
push eax
call fcn.0048c1d0
add esp, 4
test eax, eax
jne 0x474fdc
mov ecx, dword [ebp + 0x14]
call fcn.0048c1a0
mov ecx, dword [ebp + 0x14]
call fcn.0048bcb0
jmp 0x47500c
mov ecx, ebp
call fcn.00479920
cmp eax, ebx
jne 0x475005
test byte [ebp + 0x30], 1
je 0x475005
mov edx, dword [ebp + 0xc]
push edx
push str.__d.__discard_resume_mem
push 0x4d35d0
call fcn.0045ef50
add esp, 0xc
jmp 0x47500c
mov ecx, ebp
call fcn.004797f0
mov eax, dword [ebp + 0x120]
mov edi, dword [ebp + 0xc]
push eax
lea eax, [esp + 0x38]
push str.__d_
push eax
mov dword [esp + 0x38], edi
call dword [sym.imp.MSVCRT.dll_swprintf]
lea ecx, [esp + 0x40]
push ecx
push 0x4d5280
call dword [sym.imp.MSVCRT.dll_wcsstr]
add esp, 0x14
test eax, eax
je 0x47533e
lea edx, [esp + 0x20]
mov ecx, 0x4d3554
push edx
mov dword [esp + 0x24], edi
call fcn.0047cfa0
mov ecx, dword [0x4d3558]
mov dword [esp + 0x14], eax
cmp eax, ecx
je 0x475077
mov edx, dword [esp + 0x20]
mov esi, dword [eax + 0xc]
cmp edx, esi
jb 0x475077
lea eax, [esp + 0x14]
jmp 0x47507f
mov dword [esp + 0x18], ecx
lea eax, [esp + 0x18]
mov eax, dword [eax]
cmp eax, ecx
je 0x47508e
cmp dword [eax + 0x10], ebx
jne 0x47533e
push 0x4c
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
cmp esi, ebx
mov dword [esp + 0xbc], 0xd
je 0x47526c
mov cl, byte [esp + 0x12]
mov eax, dword [0x4d3550]
mov byte [esi], cl
push ebx
mov ecx, esi
mov dword [esp + 0x28], eax
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 dl, byte [esp + 0x12]
lea ecx, [esi + 0x10]
push ebx
mov byte [esp + 0xc0], 0xe
mov byte [ecx], 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 al, byte [esp + 0x12]
lea ecx, [esi + 0x20]
push ebx
mov byte [esp + 0xc0], 0xf
mov byte [ecx], al
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 dl, byte [esp + 0x12]
lea ecx, [esi + 0x30]
push ebx
mov byte [esp + 0xc0], 0x10
mov byte [ecx], 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 edi, 0x4d349c
or ecx, 0xffffffff
xor eax, eax
mov dword [esi + 0x40], ebx
mov dword [esi + 0x48], 0x32000
mov byte [esp + 0xbc], 0x11
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4d349c
mov ecx, esi
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_char_const___unsigned_int_]
mov edi, 0x4d349c
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
lea ecx, [esi + 0x10]
push edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x20], ecx
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x47519b
mov eax, dword [esp + 0x18]
mov ecx, edi
mov edx, ecx
mov esi, 0x4d349c
mov eax, dword [eax + 4]
mov edi, eax
mov eax, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
add ecx, 0x10
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Eos_unsigned_int_]
mov esi, dword [esp + 0x14]
mov edi, 0x4d349c
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
lea ecx, [esi + 0x20]
push edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x20], ecx
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x4751f6
mov edx, dword [esp + 0x18]
mov ecx, edi
mov esi, 0x4d349c
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x14]
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
push ecx
lea ecx, [edx + 0x20]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Eos_unsigned_int_]
mov esi, dword [esp + 0x14]
mov edi, 0x4d349c
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
lea ecx, [esi + 0x30]
push edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x20], ecx
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x475251
mov eax, dword [esp + 0x18]
mov ecx, edi
mov edx, ecx
mov esi, 0x4d349c
mov eax, dword [eax + 4]
mov edi, eax
mov eax, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
add ecx, 0x30
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Eos_unsigned_int_]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
push edx
call fcn.004649b0
mov edi, dword [esp + 0x30]
add esp, 4
neg eax
sbb eax, eax
inc eax
mov dword [esi + 0x44], eax
jmp 0x47526e
xor esi, esi
mov ecx, dword [0x4d3558]
mov edx, dword [0x4d3670]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], esi
mov esi, dword [ecx + 4]
mov dword [esp + 0xbc], 0xffffffff
cmp esi, edx
mov edi, ecx
mov al, 1
je 0x4752b3
mov eax, dword [esp + 0x2c]
mov edi, esi
cmp eax, dword [esi + 0xc]
setb al
cmp al, bl
je 0x4752ac
mov esi, dword [esi]
jmp 0x4752af
mov esi, dword [esi + 8]
cmp esi, edx
jne 0x475298
cmp byte [0x4d355c], bl
je 0x4752d3
lea ecx, [esp + 0x18]
lea edx, [esp + 0x24]
push ecx
push edi
push esi
push edx
mov ecx, 0x4d3554
call fcn.0047c380
jmp 0x47533e
cmp al, bl
mov dword [esp + 0x14], edi
je 0x475300
cmp edi, dword [ecx]
jne 0x4752f7
lea eax, [esp + 0x18]
lea ecx, [esp + 0x24]
push eax
push edi
push esi
push ecx
mov ecx, 0x4d3554
call fcn.0047c380
jmp 0x47533e
lea ecx, [esp + 0x14]
call fcn.0047cfd0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [edx + 0xc]
cmp eax, ecx
jae 0x475327
lea ecx, [esp + 0x18]
lea edx, [esp + 0x24]
push ecx
push edi
push esi
push edx
mov ecx, 0x4d3554
call fcn.0047c380
jmp 0x47533e
lea eax, [esp + 0x11]
lea ecx, [esp + 0x14]
push eax
push ecx
lea ecx, [esp + 0x34]
mov byte [esp + 0x19], bl
call fcn.00440d30
mov dword [ebp + 0x13b8], ebx
mov dword [ebp + 0x13b0], ebx
mov word [ebp + 0x13b4], bx
mov dword [ebp + 0x13bc], ebx
mov dword [ebp + 0x13c0], ebx
mov dword [ebp + 8], 1
xor eax, eax
mov ecx, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xb0
ret 0x10