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

Disassembly:
jmp 0x5fc7c0
sub esp, 0x5c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x70]
mov ebx, ecx
push edi
push esi
call fcn.00601e10
xor ecx, ecx
mov dword [esp + 0x28], eax
xor edx, edx
mov dword [esp + 0x60], ecx
xor edi, edi
mov dword [esp + 0x58], edx
add esp, 4
mov dword [esp + 0x58], edi
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], 4
mov dword [esp + 0x18], ecx
test eax, eax
je 0x5fcac1
lea eax, [esp + 0x28]
push esi
push eax
call fcn.00601ba0
mov esi, dword [esp + 0x34]
add esp, 8
test esi, esi
je 0x5fcd90
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x54]
push esi
push eax
mov dword [esp + 0x24], eax
call fcn.0040dedb
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], eax
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x5fc853
cmp ecx, 0xfffffffc
jne 0x5fcd90
dec dword [esp + 0x60]
lea eax, [esi + 5]
push 4
push eax
call fcn.0040d9e5
mov edi, eax
add esp, 8
mov dword [edi], esi
lea ebp, [edi + 4]
test esi, esi
je 0x5fc87a
push esi
push dword [esp + 0x20]
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x54]
push dword [esp + 0x10]
mov byte [esi + ebp], 0
mov dword [eax], edi
inc dword [esp + 0x60]
call fcn.00410a46
mov esi, dword [ebx + 0x13c]
lea edi, [ebx + 0x138]
mov ecx, dword [edi + 8]
cmp esi, ecx
je 0x5fc8be
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esi], eax
mov dword [esi + 4], ecx
add dword [edi + 4], 8
jmp 0x5fc9ea
mov edx, dword [edi]
mov eax, esi
sub eax, edx
sar eax, 3
mov dword [esp + 0x20], eax
cmp eax, 0x1fffffff
je 0x5fce29
sub ecx, edx
lea ebp, [eax + 1]
sar ecx, 3
mov eax, 0x1fffffff
mov edx, ecx
mov dword [esp + 0x1c], ebp
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x5fc909
mov eax, 0xfffffff8
mov dword [esp + 0x14], 0x1fffffff
push eax
call fcn.00404818
add esp, 4
jmp 0x5fc94f
lea eax, [edx + ecx]
cmp eax, ebp
cmovae ebp, eax
mov dword [esp + 0x14], ebp
cmp ebp, 0x1fffffff
ja 0x5fce24
lea eax, [ebp*8]
cmp eax, 0x1000
jb 0x5fc93a
push eax
call fcn.00404818
add esp, 4
jmp 0x5fc94f
test eax, eax
je 0x5fc949
push eax
call fcn.00405e93
add esp, 4
jmp 0x5fc94b
xor eax, eax
mov dword [esp + 0x14], ebp
mov ecx, dword [esp + 0x20]
lea edx, [eax + ecx*8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov ebp, dword [edi + 4]
mov dword [esp + 0x20], edx
mov edx, dword [edi]
cmp esi, ebp
jne 0x5fc983
push dword [esp + 0x10]
mov ecx, edi
push ebp
push edx
call fcn.00409cdc
jmp 0x5fc9d7
mov edi, dword [esp + 0x10]
cmp edx, esi
je 0x5fc9b3
nop dword [eax + eax]
mov eax, dword [edx]
lea edi, [edi + 8]
mov ecx, dword [edx + 4]
add edx, 8
mov dword [edi - 8], eax
mov dword [edi - 4], ecx
cmp edx, esi
jne 0x5fc990
mov ebp, dword [ebx + 0x13c]
lea edi, [ebx + 0x138]
jmp 0x5fc9b9
lea edi, [ebx + 0x138]
cmp esi, ebp
je 0x5fc9d7
mov edx, dword [esp + 0x20]
sub edx, esi
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [esi + edx + 8], eax
mov dword [esi + edx + 0xc], ecx
add esi, 8
cmp esi, ebp
jne 0x5fc9c3
push dword [esp + 0x14]
mov ecx, edi
push dword [esp + 0x20]
push dword [esp + 0x18]
call fcn.00402aea
mov esi, dword [esp + 0x74]
push esi
call fcn.00601e10
add esp, 4
test eax, eax
jne 0x5fcd1f
push esi
call fcn.00601e10
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x5fcaa2
push esi
dec ebp
call fcn.00601e10
push esi
mov edi, eax
call fcn.00601e10
add esp, 8
mov esi, eax
sub edi, 0
je 0x5fca67
sub edi, 1
jne 0x5fcbd2
push esi
mov ecx, ebx
call fcn.00410956
test al, al
je 0x5fcb70
push esi
mov ecx, ebx
call fcn.00402fa4
cmp dword [eax + 0x40], 0xffffffff
jne 0x5fcb11
push esi
mov ecx, ebx
call fcn.00402fa4
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x40], ecx
jmp 0x5fca96
mov eax, dword [ebx + 0xec]
mov ecx, dword [ebx + 0xe8]
sub eax, ecx
sar eax, 6
cmp esi, eax
jae 0x5fccaf
shl esi, 6
cmp dword [esi + ecx + 0x38], 0xffffffff
jne 0x5fcc3f
mov eax, dword [esp + 0x18]
mov dword [esi + ecx + 0x38], eax
mov esi, dword [esp + 0x74]
test ebp, ebp
jne 0x5fca12
mov ebp, dword [esp + 0x18]
inc ebp
mov dword [esp + 0x18], ebp
cmp ebp, dword [esp + 0x24]
jb 0x5fc804
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x70]
mov dword [ebx], 0
test ecx, ecx
je 0x5fcafb
xor esi, esi
test edi, edi
je 0x5fcafb
mov ecx, dword [edx + esi*4]
test ecx, ecx
je 0x5fcaf6
cmp ecx, 0xfffffffc
je 0x5fcaf6
mov eax, dword [ecx]
push 4
add eax, 5
push eax
push ecx
call fcn.00415398
mov edx, dword [esp + 0x60]
add esp, 0xc
inc esi
cmp esi, edi
jne 0x5fcad5
push edx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret 8
mov ebx, dword [esp + 0x70]
lea eax, [esp + 0x74]
push eax
push str.Function_in_two_COMDATs
push ebx
mov dword [esp + 0x80], 3
call fcn.00409aed
add esp, 0xc
cmp dword [esp + 0x5c], 0
je 0x5fcb6a
mov edi, dword [esp + 0x58]
xor esi, esi
test edi, edi
je 0x5fcb6a
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x5fcb65
cmp ecx, 0xfffffffc
je 0x5fcb65
mov eax, dword [ecx]
push 4
add eax, 5
push eax
push ecx
call fcn.00415398
add esp, 0xc
inc esi
cmp esi, edi
jne 0x5fcb44
push dword [esp + 0x54]
jmp 0x5fcafc
mov ebx, dword [esp + 0x70]
lea eax, [esp + 0x74]
push eax
push str.COMDAT_function_index_out_of_range
push ebx
mov dword [esp + 0x80], 3
call fcn.00405457
add esp, 0xc
cmp dword [esp + 0x5c], 0
je 0x5fcb6a
mov edi, dword [esp + 0x58]
xor esi, esi
test edi, edi
je 0x5fcb6a
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x5fcbc4
cmp ecx, 0xfffffffc
je 0x5fcbc4
mov eax, dword [ecx]
push 4
add eax, 5
push eax
push ecx
call fcn.00415398
add esp, 0xc
inc esi
cmp esi, edi
jne 0x5fcba3
push dword [esp + 0x54]
jmp 0x5fcafc
mov ebx, dword [esp + 0x70]
lea eax, [esp + 0x74]
push eax
push str.Invalid_COMDAT_entry_type
push ebx
mov dword [esp + 0x80], 3
call fcn.004065a0
add esp, 0xc
cmp dword [esp + 0x5c], 0
je 0x5fcb6a
mov edi, dword [esp + 0x58]
xor esi, esi
test edi, edi
je 0x5fcb6a
nop dword [eax]
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x5fcc31
cmp ecx, 0xfffffffc
je 0x5fcc31
mov eax, dword [ecx]
push 4
add eax, 5
push eax
push ecx
call fcn.00415398
add esp, 0xc
inc esi
cmp esi, edi
jne 0x5fcc10
push dword [esp + 0x54]
jmp 0x5fcafc
mov ebx, dword [esp + 0x70]
lea eax, [esp + 0x74]
push eax
push str.Data_segment_in_two_COMDATs
push ebx
mov dword [esp + 0x80], 3
call fcn.004050ce
add esp, 0xc
cmp dword [esp + 0x5c], 0
je 0x5fcb6a
mov edi, dword [esp + 0x58]
xor esi, esi
test edi, edi
je 0x5fcb6a
nop word [eax + eax]
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x5fcca1
cmp ecx, 0xfffffffc
je 0x5fcca1
mov eax, dword [ecx]
push 4
add eax, 5
push eax
push ecx
call fcn.00415398
add esp, 0xc
inc esi
cmp esi, edi
jne 0x5fcc80
push dword [esp + 0x54]
jmp 0x5fcafc
mov ebx, dword [esp + 0x70]
lea eax, [esp + 0x74]
push eax
push str.COMDAT_data_index_out_of_range
push ebx
mov dword [esp + 0x80], 3
call fcn.00414b64
add esp, 0xc
cmp dword [esp + 0x5c], 0
je 0x5fcb6a
mov edi, dword [esp + 0x58]
xor esi, esi
test edi, edi
je 0x5fcb6a
nop word [eax + eax]
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x5fcd11
cmp ecx, 0xfffffffc
je 0x5fcd11
mov eax, dword [ecx]
push 4
add eax, 5
push eax
push ecx
call fcn.00415398
add esp, 0xc
inc esi
cmp esi, edi
jne 0x5fccf0
push dword [esp + 0x54]
jmp 0x5fcafc
mov ebx, dword [esp + 0x70]
lea eax, [esp + 0x74]
push eax
push str.Unsupported_COMDAT_flags
push ebx
mov dword [esp + 0x80], 3
call fcn.00408486
add esp, 0xc
cmp dword [esp + 0x5c], 0
je 0x5fcb6a
mov edi, dword [esp + 0x58]
xor esi, esi
test edi, edi
je 0x5fcb6a
nop word [eax + eax]
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x5fcd81
cmp ecx, 0xfffffffc
je 0x5fcd81
mov eax, dword [ecx]
push 4
add eax, 5
push eax
push ecx
call fcn.00415398
add esp, 0xc
inc esi
cmp esi, edi
jne 0x5fcd60
push dword [esp + 0x54]
jmp 0x5fcafc
mov ebx, dword [esp + 0x70]
lea eax, [esp + 0x28]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x78], 3
push eax
push ebx
mov word [esp + 0x50], 0x103
mov dword [esp + 0x48], str.Bad_duplicate_COMDAT_name
mov word [esp + 0x5c], 0x105
mov dword [esp + 0x3c], str.Bad_duplicate_COMDAT_name
mov word [esp + 0x44], 0x503
call fcn.0040fd44
add esp, 0xc
cmp dword [esp + 0x5c], 0
je 0x5fcb6a
mov edi, dword [esp + 0x58]
xor esi, esi
test edi, edi
je 0x5fcb6a
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x5fce16
cmp ecx, 0xfffffffc
je 0x5fce16
mov eax, dword [ecx]
push 4
add eax, 5
push eax
push ecx
call fcn.00415398
add esp, 0xc
inc esi
cmp esi, edi
jne 0x5fcdf5
push dword [esp + 0x54]
jmp 0x5fcafc
call fcn.004104b5
call fcn.0040f1dc
int3