Function at 0x41b190
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x94
push ebx
push ebp
push esi
mov esi, dword [esp + 0xa4]
mov eax, dword [esi + 0x2b4]
test eax, eax
push edi
mov edi, ecx
mov dword [esp + 0x24], edi
mov byte [esp + 0x13], 0
je 0x41b34f
shl eax, 4
push eax
mov eax, dword [esi + 0x2b8]
lea ecx, [edi + 0x60]
push eax
mov dword [esp + 0x24], 1
call fcn.00404440
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x20], ebx
jne 0x41b200
push str.Couldnt_locate_whole_copy_sections.
push 0x4753e0
call fcn.0040bd00
push str._b_Platform_builder_tools_incompatible_
push 0x4753e0
call fcn.0040bd00
add esp, 0x10
mov ecx, dword [esi + 0x2b4]
push ecx
push str.COPY_Sections___d______________________________
push 0x4753e0
call fcn.0040bd00
mov eax, dword [esi + 0x2b4]
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], 0
jle 0x41b2ed
xor ebp, ebp
test ebx, ebx
jne 0x41b27b
mov edx, dword [esi + 0x2b8]
push 0x10
add edx, ebp
push edx
lea ecx, [edi + 0x60]
call fcn.00404440
mov ebx, eax
test ebx, ebx
je 0x41b255
push str.alone:
jmp 0x41b282
mov eax, dword [esp + 0x14]
push eax
push str.ERROR:_unable_to_locate_copy_section__d
push 0x4753e0
call fcn.0040bd00
add esp, 0xc
mov byte [esp + 0x13], 1
mov dword [esp + 0x1c], 0
jmp 0x41b2cf
add ebx, ebp
push 0x45f743
push 0x4753e0
call fcn.0040bd00
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov eax, dword [ebx + 4]
add esp, 8
push ecx
mov ecx, dword [ebx]
push edx
push eax
push ecx
push str._b____Src:_0x_08X___Dest:_0x_08X___CLen:_0x__6X___DLen:_0x__6X
push 0x4753e0
call fcn.0040bd00
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x2bc]
add esp, 0x18
cmp eax, ecx
jne 0x41b2cf
mov ebx, dword [ebx]
sub ebx, eax
mov dword [esi + 0x2c0], ebx
add ebx, ecx
mov dword [esi + 0x2bc], ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x2b4]
mov ebx, dword [esp + 0x20]
inc eax
add ebp, 0x10
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x41b231
test ebx, ebx
jne 0x41b34f
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x41b34f
push str.Fixing:_combining_sections...
push 0x4753e0
call fcn.0040bd00
mov edx, dword [esi + 0x2b8]
mov eax, dword [esi + 0x2b4]
add esp, 8
push 0x10
push edx
push eax
lea ecx, [edi + 0x60]
call fcn.00404db0
test eax, eax
jne 0x41b33d
push str.Error_while_combine__Do_not_save__Possibly_inconsistent_state_
push 0x4753e0
call fcn.0040bd00
mov byte [esp + 0x1b], 1
jmp 0x41b34c
push 0x4657c0
push 0x4753e0
call fcn.0040bd00
add esp, 8
mov ecx, dword [esi + 0x2a8]
test ecx, ecx
je 0x41b51c
mov eax, dword [edi + 0xe4]
mov dword [esi + 0x2a4], eax
add eax, ecx
push 0xffffffffffffffff
push eax
lea ecx, [edi + 0xdc]
call fcn.00406660
mov edx, dword [esi + 0x2a8]
mov ebx, dword [esi + 0x298]
shl edx, 5
add ebx, 0x54
push edx
lea ecx, [edi + 0x60]
push ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x24], 1
call fcn.00404440
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x20], ebp
jne 0x41b3cc
push str.ERROR:_Couldnt_locate_whole_TOCentry_data.
push 0x4753e0
call fcn.0040bd00
push str._b_Platform_builder_tools_incompatible_
push 0x4753e0
call fcn.0040bd00
add esp, 0x10
push str.MODULES________________________________________
push 0x4753e0
call fcn.0040bd00
mov eax, dword [esi + 0x2a8]
add esp, 8
test eax, eax
mov dword [esp + 0x18], 0
jbe 0x41b4c0
mov ecx, ebp
mov eax, ebx
sub ecx, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], ecx
jmp 0x41b410
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
lea esp, [esp]
mov ebx, dword [esi + 0x2a4]
add ebx, dword [esp + 0x18]
mov edx, dword [edi + 0xe0]
imul ebx, ebx, 0x164
add ebx, edx
test ebp, ebp
mov edx, dword [edi + 0x110]
mov dword [ebx + 0x40], edx
je 0x41b43f
lea ebp, [ecx + eax]
push 0x45f743
jmp 0x41b455
push 0x20
push eax
lea ecx, [edi + 0x60]
call fcn.00404440
mov ebp, eax
test ebp, ebp
je 0x41b472
push str.alone:
push 0x4753e0
call fcn.0040bd00
add esp, 8
push ebx
push ebp
push esi
mov ecx, edi
call fcn.004175e0
test eax, eax
jne 0x41b496
jmp 0x41b491
mov eax, dword [esp + 0x18]
push eax
push str.ERROR:_unable_to_locate_module__d
push 0x4753e0
call fcn.0040bd00
add esp, 0xc
mov dword [esp + 0x1c], 0
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 0x2a8]
mov ebp, dword [esp + 0x20]
inc eax
add edx, 0x20
cmp eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
jb 0x41b404
mov ebx, dword [esp + 0x28]
test ebp, ebp
jne 0x41b51c
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x41b51c
push str.Fixing:_combining_modules...
push 0x4753e0
call fcn.0040bd00
mov ecx, dword [esi + 0x2a8]
add esp, 8
push 0x20
push ebx
push ecx
lea ecx, [edi + 0x60]
call fcn.00404db0
test eax, eax
jne 0x41b50a
push str.Error_while_combine__Do_not_save__Possibly_inconsistent_state_
push 0x4753e0
call fcn.0040bd00
mov byte [esp + 0x1b], 1
jmp 0x41b519
push 0x4657c0
push 0x4753e0
call fcn.0040bd00
add esp, 8
mov ecx, dword [esi + 0x2b0]
test ecx, ecx
je 0x41ba3d
mov eax, dword [edi + 0xd0]
mov dword [esi + 0x2ac], eax
add eax, ecx
push 0xffffffffffffffff
push eax
lea ecx, [edi + 0xc8]
call fcn.004055a0
mov edx, dword [esi + 0x2a8]
mov eax, dword [esi + 0x298]
shl edx, 5
lea ebx, [edx + eax + 0x54]
mov edx, dword [esi + 0x2b0]
imul edx, edx, 0x1c
push edx
lea ecx, [edi + 0x60]
push ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], 1
mov dword [esp + 0x1c], ecx
call fcn.00404440
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x28], ebp
jne 0x41b5a7
push str.ERROR:_Couldnt_locate_whole_Files_data.
push 0x4753e0
call fcn.0040bd00
push str._b_Platform_builder_tools_incompatible_
push 0x4753e0
call fcn.0040bd00
add esp, 0x10
push str.FILES_________________________________________
push 0x4753e0
call fcn.0040bd00
mov eax, dword [esi + 0x2b0]
add esp, 8
test eax, eax
mov dword [esp + 0x18], 0
jle 0x41b93c
mov ecx, ebp
mov eax, ebx
sub ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], ecx
jmp 0x41b5f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
jmp 0x41b5f0
mov ebx, dword [esi + 0x2ac]
add ebx, dword [esp + 0x18]
mov edx, dword [edi + 0xcc]
imul ebx, ebx, 0x44
add ebx, edx
test ebp, ebp
mov edx, dword [edi + 0x110]
mov dword [ebx + 0x40], edx
je 0x41b61c
lea ebp, [ecx + eax]
push 0x4656c0
jmp 0x41b637
mov ecx, dword [esp + 0x14]
push 0x1c
push eax
call fcn.00404440
mov ebp, eax
test ebp, ebp
je 0x41b9a7
push str.alone:
push 0x4753e0
call fcn.0040bd00
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x1c]
add esp, 8
push 1
push eax
call fcn.00404440
push ebp
push eax
mov ecx, ebx
call fcn.0040b730
mov edx, dword [esp + 0x1c]
mov eax, dword [ebx + 4]
xor ecx, ecx
lea esi, [edi + 0x128]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
mov edx, dword [str.N___FILESentry]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ecx
mov ecx, dword [edi + 0x110]
mov edi, dword [esi + 8]
mov dword [esp + 0x44], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x18]
push 0xffffffffffffffff
lea edx, [edi + 1]
mov dword [esp + 0x5c], ecx
push edx
mov ecx, esi
mov dword [esp + 0x48], 0x1c
mov dword [esp + 0x54], eax
call fcn.00415900
mov ecx, dword [esi + 4]
lea eax, [edi + edi*8]
lea edi, [ecx + eax*4]
mov ecx, 9
lea esi, [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x20]
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41b6d4
mov ecx, dword [0x4753d8]
sub eax, edi
inc eax
cmp ecx, 4
jb 0x41b6ef
add eax, 3
and eax, 0xfffffffc
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x64], eax
mov eax, dword [str.0_5_name]
xor ecx, ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x24]
lea edi, [eax + 0x128]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov ecx, dword [eax + 0x110]
mov dword [esp + 0x6c], esi
mov esi, dword [edi + 8]
mov dword [esp + 0x60], edx
push 0xffffffffffffffff
lea edx, [esi + 1]
mov dword [esp + 0x80], ecx
push edx
mov ecx, edi
call fcn.00415900
mov ecx, dword [edi + 4]
lea eax, [esi + esi*8]
lea edi, [ecx + eax*4]
mov ecx, 9
lea esi, [esp + 0x5c]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp]
mov esi, eax
and esi, 0x800
je 0x41b766
mov ecx, dword [ebp + 0x10]
jmp 0x41b768
xor ecx, ecx
mov edx, dword [ebp + 0x18]
push edx
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [ebp + 0xc]
push edx
push ecx
mov ecx, eax
and cl, 4
neg cl
sbb cl, cl
and cl, 0xf4
add cl, 0x5f
movsx edx, cl
mov ecx, eax
and cl, 1
neg cl
sbb cl, cl
and cl, 0xf3
and al, 2
add cl, 0x5f
push edx
neg al
sbb al, al
and al, 0xe9
movsx edx, cl
add al, 0x5f
push edx
test esi, esi
sete cl
dec cl
and cl, 0xe4
movsx eax, al
push eax
movzx eax, word [ebx + 0x24]
add cl, 0x5f
movsx edx, cl
movzx ecx, word [ebx + 0x22]
push edx
movzx edx, word [ebx + 0x20]
push eax
movzx eax, word [ebx + 0x1e]
push ecx
movzx ecx, word [ebx + 0x1a]
push edx
movzx edx, word [ebx + 0x18]
push eax
push ecx
push edx
push str._b_04d._02d._02d__02d:_02d:_02d___c_c_c_c__10d__10d___24s__ROM_0x_08X_
push 0x4753e0
call fcn.0040bd00
mov eax, dword [ebp]
add esp, 0x40
test eax, 0xfffff7f8
je 0x41b812
push str._b_Warning:_removing_unnecessary_attributes...
push 0x4753e0
call fcn.0040bd00
mov eax, dword [ebp]
add esp, 8
and eax, 0x807
mov dword [ebp], eax
mov eax, dword [ebp]
test ah, 8
je 0x41b81f
mov esi, dword [ebp + 0x10]
jmp 0x41b822
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x14]
push esi
push eax
call fcn.00404440
mov ecx, dword [ebp + 0x18]
mov edi, eax
push edi
push ecx
mov ecx, ebx
call fcn.0040b780
xor eax, eax
cmp edi, eax
jne 0x41b85b
push str.Error:_File_is_not_in_record_space._Potentially_truncated_file_
push 0x4753e0
call fcn.0040bd00
add esp, 8
jmp 0x41b8e1
mov ecx, dword [str.F_7_fileData]
mov edx, dword [ebp + 0x18]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x8c], ecx
mov ecx, dword [edi + 0x110]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x20]
add edi, 0x128
mov dword [esp + 0x88], esi
mov esi, dword [edi + 8]
mov dword [esp + 0x90], edx
mov dword [esp + 0x80], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov eax, dword [ebp]
push 0xffffffffffffffff
lea edx, [esi + 1]
mov dword [esp + 0xa4], ecx
push edx
mov ecx, edi
mov dword [esp + 0xa4], eax
call fcn.00415900
mov ecx, dword [edi + 4]
lea eax, [esi + esi*8]
lea edi, [ecx + eax*4]
mov ecx, 9
lea esi, [esp + 0x80]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp]
test ah, 8
je 0x41b991
mov edx, dword [ebp + 0xc]
cmp edx, dword [ebp + 0x10]
jne 0x41b907
push str.WARNING:_Attribute_COMPRESSED_is_set__but_RealSizeCompSize
push 0x4753e0
call fcn.0040bd00
add esp, 8
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0xa8]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esi + 0x2b0]
mov ebp, dword [esp + 0x28]
inc eax
add edx, 0x1c
cmp eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
jl 0x41b5df
mov ebx, dword [esp + 0x30]
test ebp, ebp
jne 0x41ba3d
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x41ba3d
push str.Fixing:_combining_files...
push 0x4753e0
call fcn.0040bd00
mov edx, dword [esi + 0x2b0]
mov edi, dword [esp + 0x1c]
add esp, 8
push 0x1c
push ebx
push edx
mov ecx, edi
call fcn.00404db0
test eax, eax
jne 0x41b9d0
push str.Error_while_combine__Do_not_save__Possibly_inconsistent_state_
push 0x4753e0
call fcn.0040bd00
mov byte [esp + 0x1b], 1
jmp 0x41b9df
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp + 0x10]
je 0x41b907
push str.WARNING:_No_COMPRESSED_attribute__but_RealSize_CompSize
jmp 0x41b8fa
mov ecx, dword [esp + 0x18]
push ecx
push str.ERROR:_unable_to_locate_file__d
push 0x4753e0
call fcn.0040bd00
add esp, 0xc
mov byte [esp + 0x13], 1
mov dword [esp + 0x2c], 0
jmp 0x41b912
push 0x4657c0
push 0x4753e0
call fcn.0040bd00
add esp, 8
push str.Fixing:_combining_modulesfiles...
push 0x4753e0
call fcn.0040bd00
mov eax, dword [esi + 0x2a8]
mov ecx, dword [esi + 0x298]
add esp, 8
shl eax, 5
push eax
add ecx, 0x54
push ecx
push 2
mov ecx, edi
call fcn.00404db0
test eax, eax
jne 0x41ba2b
push str.Error_while_combine_modulesfiles__Do_not_save__Possibly_inconsistent_state_
push 0x4753e0
call fcn.0040bd00
mov byte [esp + 0x1b], 1
jmp 0x41ba3a
push 0x4657c0
push 0x4753e0
call fcn.0040bd00
add esp, 8
mov cl, byte [esp + 0x13]
pop edi
pop esi
xor eax, eax
test cl, cl
pop ebp
sete al
pop ebx
add esp, 0x94
ret 4