Function at 0x42a380
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x42dbdc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x58
mov eax, dword [0x43e4a0]
push ebx
xor ebx, ebx
push esi
mov dword [esp + 0x5c], eax
push edi
mov esi, ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
lea ecx, [esp + 0xc]
mov byte [esp + 0x6c], 1
call fcn.0041e5b0
mov dword [esp + 0x10], eax
mov byte [eax + 0x2d], 1
mov eax, dword [esp + 0x10]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x10]
mov dword [eax], eax
mov eax, dword [esp + 0x10]
mov dword [eax + 8], eax
mov dword [esp + 0x14], ebx
mov byte [esp + 0x55], 1
mov dword [esp + 0x58], ebx
mov byte [esp + 0x54], bl
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x70], 3
call fcn.0041ffe0
lea ecx, [esp + 0x54]
mov byte [esp + 0x6c], 2
call fcn.00403800
mov eax, dword [esp + 0x20]
mov cl, byte [eax - 7]
add eax, 0xfffffff8
or cl, 0x10
mov dword [eax + 4], 0x445d9c
mov byte [eax + 1], cl
cmp dword [esi + 4], ebx
je 0x42a48b
cmp dword [esi + 0xc], ebx
je 0x42a475
mov edi, dword [sym.imp.MSVCR71.dll_free]
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 4]
dec eax
lea ecx, [eax + eax*2]
mov dword [esi + 0xc], eax
lea eax, [edx + ecx*4]
mov cl, byte [eax]
and cl, 0xe0
cmp cl, 0x80
jne 0x42a470
cmp byte [eax + 8], 4
jne 0x42a470
mov edx, dword [eax + 4]
push edx
call edi
add esp, 4
cmp dword [esi + 0xc], ebx
jne 0x42a447
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 4]
dec edx
push eax
mov dword [esi + 0xc], edx
call sub.MSVCR71.dll_void___cdecl_operator_delete___void__
add esp, 4
mov dword [esi + 4], ebx
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x42a4b5
mov ecx, dword [eax - 4]
lea edi, [eax - 4]
push 0x403940
push ecx
push 8
push eax
call fcn.0042af54
push edi
call sub.MSVCR71.dll_void___cdecl_operator_delete___void__
add esp, 4
mov dword [esi + 8], ebx
mov dword [esi + 0x10], ebx
mov edi, dword [esp + 0x74]
mov ecx, edi
call fcn.00425e70
cmp word [eax], 0x2715
je 0x42a56c
cmp word [edi + 0x2c], 0x2710
je 0x42a56c
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
push eax
push str._d:
lea ecx, [esp + 0x5c]
push 0xa
push ecx
call dword [sym.imp.MSVCR71.dll__snprintf]
mov esi, dword [esp + 0x90]
add esp, 0x10
lea edx, [esp + 0x54]
push edx
mov ecx, esi
call dword [0x42e160]
push str.function_variable_required
mov ecx, esi
call dword [sym.imp.MSVCP71.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__::operator_char_const__]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push eax
push ecx
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 1
call fcn.0041fb00
mov ecx, dword [esp + 0x10]
push ecx
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov byte [esp + 0x6c], bl
call fcn.00403780
mov eax, dword [esp + 0x2c]
cmp eax, ebx
je 0x42a565
push eax
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
xor al, al
jmp 0x42a85a
mov edx, dword [edi + 0x434]
push ebp
mov ebp, dword [esp + 0x84]
push edx
mov ecx, ebp
call dword [0x42e160]
mov ecx, edi
call fcn.00425e70
cmp word [eax], 0x2716
je 0x42a628
mov eax, dword [esp + 0x80]
mov ecx, dword [eax]
push ecx
push str._d:
lea edx, [esp + 0x60]
push 0xa
push edx
call dword [sym.imp.MSVCR71.dll__snprintf]
add esp, 0x10
lea eax, [esp + 0x58]
push eax
mov ecx, ebp
call dword [0x42e160]
push str.function_parameters_required__
mov ecx, ebp
call dword [sym.imp.MSVCP71.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__::operator_char_const__]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push eax
push ecx
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x7c], 1
call fcn.0041fb00
mov edx, dword [esp + 0x14]
push edx
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
lea ecx, [esp + 0x1c]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov byte [esp + 0x70], bl
call fcn.00403780
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x42a857
push eax
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
jmp 0x42a857
mov ecx, edi
call fcn.00425e70
cmp word [eax], 0x2710
jne 0x42a718
lea ebx, [ebx]
inc dword [esi + 0x14]
mov byte [esp + 0x59], bl
mov byte [esp + 0x58], bl
mov ecx, dword [esp + 0x20]
cmp ecx, ebx
mov edx, dword [esp + 0x24]
mov byte [esp + 0x70], 4
je 0x42a6a1
mov eax, edx
sub eax, ecx
mov ecx, dword [esp + 0x28]
sub ecx, dword [esp + 0x20]
sar eax, 3
sar ecx, 3
cmp eax, ecx
jae 0x42a6a1
mov eax, dword [esp + 0x84]
push eax
lea ecx, [esp + 0x20]
push ecx
lea eax, [esp + 0x60]
push eax
push 1
push edx
mov ebp, edx
call fcn.004137d0
add esp, 0x14
add ebp, 8
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x84]
jmp 0x42a6b2
lea ecx, [esp + 0x58]
push ecx
push 1
push edx
lea ecx, [esp + 0x28]
call fcn.004169c0
lea ecx, [esp + 0x58]
mov byte [esp + 0x70], 2
call fcn.00403800
mov edx, dword [edi + 0x434]
push edx
lea ecx, [esp + 0x40]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x74], 5
call fcn.0041fa10
mov ecx, dword [esi + 0x14]
mov dword [eax], ecx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x70], 2
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ecx, edi
call fcn.00425e70
cmp word [eax], 0x271d
jne 0x42a718
mov ecx, edi
call fcn.00425e70
cmp word [eax], 0x2710
je 0x42a640
cmp word [edi + 0x2c], 0x2717
je 0x42a7b7
mov edx, dword [esp + 0x80]
mov eax, dword [edx]
push eax
push str._d:
lea ecx, [esp + 0x60]
push 0xa
push ecx
call dword [sym.imp.MSVCR71.dll__snprintf]
add esp, 0x10
lea edx, [esp + 0x58]
push edx
mov ecx, ebp
call dword [0x42e160]
push 0x436be4
mov ecx, ebp
call dword [sym.imp.MSVCP71.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__::operator_char_const__]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push eax
push ecx
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x7c], 1
call fcn.0041fb00
mov ecx, dword [esp + 0x14]
push ecx
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
lea ecx, [esp + 0x1c]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov byte [esp + 0x70], bl
call fcn.00403780
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x42a857
push eax
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
jmp 0x42a857
mov ecx, edi
call fcn.00426400
cmp ax, 0x273d
mov ebp, dword [esp + 0x80]
jne 0x42a7eb
jmp 0x42a7d0
mov edx, dword [ebp]
inc edx
mov ecx, edi
mov dword [ebp], edx
call fcn.00425e70
mov ecx, edi
call fcn.00426400
cmp ax, 0x273d
je 0x42a7d0
mov ecx, edi
call fcn.00425e70
cmp word [eax], 0x271a
je 0x42a877
mov edx, dword [ebp]
push edx
push str._d:
lea eax, [esp + 0x60]
push 0xa
push eax
call dword [sym.imp.MSVCR71.dll__snprintf]
mov esi, dword [esp + 0x94]
add esp, 0x10
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
call dword [0x42e160]
push str.function_block_required_
mov ecx, esi
call dword [sym.imp.MSVCP71.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__::operator_char_const__]
lea ecx, [esp + 0x10]
mov byte [esp + 0x70], 1
call fcn.0041fe70
lea ecx, [esp + 0x1c]
mov byte [esp + 0x70], bl
call fcn.00403780
lea ecx, [esp + 0x2c]
call fcn.0041f960
xor al, al
pop ebp
mov ecx, dword [esp + 0x64]
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x58]
pop ebx
call fcn.0042b32d
add esp, 0x64
ret 0x10
mov ecx, dword [esp + 0x7c]
cmp ecx, ebx
je 0x42a833
mov edx, dword [esp + 0x84]
push edx
push ebp
lea eax, [esp + 0x24]
push eax
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x20]
push eax
push edi
call fcn.004234b0
test eax, eax
jl 0x42a833
mov ecx, edi
call fcn.00425e70
cmp word [eax], 0x271b
je 0x42a8e6
mov ecx, dword [ebp]
push ecx
push str._d:
lea edx, [esp + 0x60]
push 0xa
push edx
call dword [sym.imp.MSVCR71.dll__snprintf]
mov esi, dword [esp + 0x94]
add esp, 0x10
lea eax, [esp + 0x58]
push eax
mov ecx, esi
call dword [0x42e160]
push 0x436bac
jmp 0x42a82b
mov ecx, dword [esp + 0x20]
cmp ecx, ebx
mov edi, dword [esp + 0x24]
jne 0x42a8f6
xor eax, eax
jmp 0x42a8fd
mov eax, edi
sub eax, ecx
sar eax, 3
cmp eax, ebx
mov dword [esi + 0x10], eax
je 0x42a980
cmp ecx, ebx
jne 0x42a90c
xor edi, edi
jmp 0x42a911
sub edi, ecx
sar edi, 3
lea ecx, [edi*8 + 4]
push ecx
call fcn.0042ad1c
add esp, 4
mov dword [esp + 0x58], eax
cmp eax, ebx
mov byte [esp + 0x70], 6
je 0x42a948
push 0x403940
push 0x401410
push edi
lea ebp, [eax + 4]
push 8
push ebp
mov dword [eax], edi
call fcn.0042afb4
jmp 0x42a94a
xor ebp, ebp
mov byte [esp + 0x70], 2
mov dword [esi + 8], ebp
xor edi, edi
mov ecx, dword [esp + 0x20]
cmp ecx, ebx
je 0x42a980
mov eax, dword [esp + 0x24]
sub eax, ecx
sar eax, 3
cmp edi, eax
jae 0x42a980
lea eax, [edi*8]
add ecx, eax
push ecx
mov ecx, dword [esi + 8]
add ecx, eax
call fcn.004168a0
inc edi
jmp 0x42a954
lea ecx, [esp + 0x2c]
call fcn.0041d650
cmp eax, ebx
mov dword [esi + 0xc], eax
je 0x42a9d7
lea edx, [eax + eax*2]
shl edx, 2
push edx
call fcn.0042ad1c
mov dword [esi + 4], eax
mov eax, dword [esi + 0xc]
add esp, 4
xor edx, edx
cmp eax, ebx
jle 0x42a9d7
xor ecx, ecx
lea ecx, [ecx]
mov eax, dword [esp + 0x30]
mov edi, dword [esi + 4]
mov ebp, dword [eax + ecx]
add eax, ecx
add edi, ecx
mov dword [edi], ebp
mov ebp, dword [eax + 4]
mov dword [edi + 4], ebp
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
mov eax, dword [esi + 0xc]
inc edx
add ecx, 0xc
cmp edx, eax
jl 0x42a9b0
lea ecx, [esp + 0x10]
mov byte [esp + 0x70], 1
call fcn.0041fe70
lea ecx, [esp + 0x1c]
mov byte [esp + 0x70], bl
call fcn.00403780
lea ecx, [esp + 0x2c]
call fcn.0041f960
mov al, 1
jmp 0x42a859