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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x434808
mov eax, dword fs:[0]
push eax
sub esp, 0xd4
mov eax, dword [0x441084]
xor eax, esp
mov dword [esp + 0xcc], eax
push esi
push edi
mov eax, dword [0x441084]
xor eax, esp
push eax
lea eax, [esp + 0xe0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 0xc]
mov esi, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x4c], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x54], edi
call fcn.0043a3c7
mov eax, dword [ebx + 0xe9c]
mov esi, dword [eax + 0xf24]
mov dword [ebp + 0x14], esi
call dword [fcn.00435110]
mov ecx, dword [ebx + 0xe9c]
cmp esi, 1
mov esi, dword [fcn.00435128]
mov dword [ecx + 0x34], eax
jne 0x43bbe4
cmp dword [esp + 0x1c], edi
je 0x43bbe4
push dword [esp + 0x1c]
call esi
test eax, eax
jle 0x43bbe4
mov eax, dword [ebx + 0xe9c]
mov ecx, dword [eax + 0x34]
mov dword [eax + 0x1140], ecx
mov eax, dword [ebx + 0xe9c]
mov eax, dword [eax + 0x1144]
cmp eax, edi
je 0x43bbac
push eax
call fcn.00446e2d
pop ecx
push dword [esp + 0x1c]
call esi
inc eax
push eax
call fcn.004468af
pop ecx
mov ecx, dword [ebx + 0xe9c]
mov dword [ecx + 0x1144], eax
mov eax, dword [ebx + 0xe9c]
cmp dword [eax + 0x1144], edi
je 0x43bbe4
push dword [esp + 0x1c]
push dword [eax + 0x1144]
call dword [fcn.00435050]
mov eax, dword [ebx + 0xe9c]
mov eax, dword [eax + 0x30]
cmp eax, edi
je 0x43bc00
push dword [esp + 0x1c]
push eax
call dword [fcn.004350f0]
test eax, eax
je 0x43bc08
mov dword [esp + 0x18], 1
mov dword [esp + 0x28], edi
cmp dword [esp + 0x18], edi
jne 0x43bc47
mov eax, dword [ebx + 0xe9c]
mov eax, dword [eax + 0xf18]
cmp dword [ebp + 0x14], eax
je 0x43be7d
push dword [ebp + 0x14]
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0xe9c]
add eax, 0xf18
push eax
call dword [0x435208]
cmp dword [esp + 0x18], 1
jne 0x43be7d
cmp dword [ebp + 0x10], edi
je 0x43bca7
mov eax, dword [ebx + 0xe9c]
mov eax, dword [eax + 0xf24]
mov esi, dword [0x435228]
cmp eax, 1
jne 0x43bc89
lea eax, [esp + 0x6c]
push eax
call esi
push 0x10
lea eax, [esp + 0x70]
push eax
push 0x43d038
call fcn.0042dac5
add esp, 0xc
lea eax, [esp + 0x7c]
push eax
call esi
push 0x10
lea eax, [esp + 0x80]
push eax
push 0x43c118
call fcn.0042dac5
add esp, 0xc
mov eax, dword [ebx + 0xe9c]
xor esi, esi
push esi
add eax, 0xef0
push eax
call dword [0x435208]
mov eax, dword [ebx + 0xe9c]
mov dword [eax + 0xf1c], 1
mov edi, dword [ebx + 0xe9c]
xor eax, eax
add edi, 0xe78
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebx + 0xe9c]
mov eax, dword [eax + 0x30]
cmp eax, esi
je 0x43bcfb
push eax
call fcn.00446e2d
mov eax, dword [ebx + 0xe9c]
pop ecx
mov dword [eax + 0x30], esi
push dword [esp + 0x1c]
call dword [fcn.00435128]
inc eax
push eax
call fcn.004468af
pop ecx
mov ecx, dword [ebx + 0xe9c]
mov dword [ecx + 0x30], eax
mov eax, dword [ebx + 0xe9c]
cmp dword [eax + 0x30], esi
je 0x43bd2e
push dword [esp + 0x1c]
push dword [eax + 0x30]
call dword [fcn.00435050]
mov eax, dword [ebx + 0xe9c]
mov dword [eax + 0xe8c], esi
mov eax, dword [ebx + 0xe9c]
mov eax, dword [eax + 0xf18]
cmp dword [ebp + 0x14], eax
jne 0x43bd58
cmp dword [esp + 0x28], 1
jne 0x43be7d
xor esi, esi
push 0x64
pop edi
mov eax, dword [ebx + 0xe9c]
cmp dword [edi + eax], esi
je 0x43bdac
mov ecx, eax
mov edx, dword [edi + ecx + 0x190]
cmp edx, dword [edi + ecx]
je 0x43bd87
lea eax, [edi + eax + 0x190]
cmp dword [eax], esi
je 0x43bd87
push dword [eax]
call fcn.00446e2d
pop ecx
mov eax, dword [ebx + 0xe9c]
mov dword [edi + eax + 0x190], esi
mov eax, dword [ebx + 0xe9c]
push dword [edi + eax]
call fcn.00446e2d
mov eax, dword [ebx + 0xe9c]
pop ecx
mov dword [edi + eax], esi
mov eax, dword [ebx + 0xe9c]
lea eax, [edi + eax + 0x320]
cmp dword [eax], esi
je 0x43bdd2
push dword [eax]
call fcn.00446e2d
mov eax, dword [ebx + 0xe9c]
pop ecx
mov dword [edi + eax + 0x320], esi
mov eax, dword [ebx + 0xe9c]
lea eax, [edi + eax + 0x640]
cmp dword [eax], esi
je 0x43bdf8
push dword [eax]
call fcn.00446e2d
mov eax, dword [ebx + 0xe9c]
pop ecx
mov dword [edi + eax + 0x640], esi
mov eax, dword [ebx + 0xe9c]
lea eax, [edi + eax + 0x7d0]
cmp dword [eax], esi
je 0x43be1e
push dword [eax]
call fcn.00446e2d
mov eax, dword [ebx + 0xe9c]
pop ecx
mov dword [edi + eax + 0x7d0], esi
add edi, 4
cmp edi, 0x1f4
jb 0x43bd5b
mov eax, dword [ebx + 0xe9c]
mov eax, dword [eax + 0xe90]
cmp eax, esi
je 0x43be50
push eax
call fcn.00446e2d
mov eax, dword [ebx + 0xe9c]
pop ecx
mov dword [eax + 0xe90], esi
mov eax, dword [ebx + 0xe9c]
push dword [ebp + 0x14]
mov dword [eax + 0xe94], esi
mov eax, dword [ebx + 0xe9c]
mov dword [eax + 0xe98], esi
mov eax, dword [ebx + 0xe9c]
add eax, 0xf18
push eax
call dword [0x435208]
mov esi, dword [esp + 0x4c]
call fcn.0043a3d8
cmp dword [esp + 0x18], 1
jne 0x43c4db
mov esi, dword [esp + 0x64]
push 1
lea eax, [esp + 0x64]
push eax
push 1
lea eax, [esp + 0x64]
push eax
mov eax, dword [ebx + 0xe9c]
mov ecx, dword [eax + 0x1148]
xor edi, edi
push esi
lea edx, [esp + 0x24]
mov dword [esp + 0x74], edi
call fcn.00442150
add esp, 0x14
mov dword [esp + 0x28], eax
cmp eax, edi
je 0x43bed0
cmp dword [esp + 0x10], edi
je 0x43beda
call dword [fcn.0043508c]
mov dword [esp + 0x54], eax
mov eax, dword [ebx + 0xe9c]
mov eax, dword [eax + 0xe74]
cmp eax, esi
je 0x43bf2b
cmp eax, edi
je 0x43bef5
push eax
call fcn.00446e2d
pop ecx
push esi
call dword [fcn.00435128]
inc eax
push eax
call fcn.004468af
pop ecx
mov ecx, dword [ebx + 0xe9c]
mov dword [ecx + 0xe74], eax
mov eax, dword [ebx + 0xe9c]
cmp dword [eax + 0xe74], edi
je 0x43bf2b
push esi
push dword [eax + 0xe74]
call dword [fcn.00435050]
cmp dword [esp + 0x60], 0x194
jne 0x43bf41
mov dword [esp + 0x10], 5
mov dword [esp + 0x14], edi
cmp dword [esp + 0x10], edi
je 0x43bf4f
mov dword [esp + 0x14], 1
cmp dword [esp + 0x28], edi
je 0x43bf6f
push dword [esp + 0x28]
mov esi, dword [esp + 0x5c]
lea edi, [esp + 0x14]
call fcn.0043c891
pop ecx
mov dword [esp + 0x38], eax
xor edi, edi
jmp 0x43bf7d
cmp dword [esp + 0x10], edi
jne 0x43bf83
mov dword [esp + 0x10], 1
cmp dword [esp + 0x10], edi
je 0x43bf91
cmp dword [esp + 0x14], edi
jne 0x43bf91
mov dword [esp + 0x14], 2
mov esi, dword [esp + 0x38]
cmp esi, edi
je 0x43bfd1
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x38]
push eax
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
mov ecx, esi
call fcn.0043c9ec
add esp, 0x30
mov dword [esp + 0x24], eax
cmp dword [esp + 0x10], edi
je 0x43bfed
cmp dword [esp + 0x14], edi
jne 0x43bfed
mov dword [esp + 0x14], 3
jmp 0x43bfed
cmp dword [esp + 0x10], edi
jne 0x43c3c3
cmp dword [esp + 0x14], edi
jne 0x43c3c3
mov dword [esp + 0x10], 2
cmp dword [esp + 0x24], 1
jne 0x43c3b9
push 0x64
pop eax
cmp dword [esp + 0x34], eax
jbe 0x43c005
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x6c]
push eax
push edi
push edi
push edi
push edi
push edi
push edi
push edi
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x48]
push eax
push edi
mov ecx, esi
call fcn.0043c9ec
add esp, 0x30
mov dword [esp + 0x24], eax
cmp dword [esp + 0x10], edi
je 0x43c043
cmp dword [esp + 0x14], edi
jne 0x43c043
mov dword [esp + 0x14], 4
cmp dword [esp + 0x20], edi
je 0x43c055
cmp dword [esp + 0x2c], edi
je 0x43c055
cmp dword [esp + 0x24], edi
jne 0x43c067
cmp dword [esp + 0x10], edi
jne 0x43c063
mov dword [esp + 0x10], 3
mov dword [esp + 0x24], edi
cmp dword [esp + 0x20], edi
je 0x43c07b
push dword [esp + 0x20]
call fcn.00446e2d
pop ecx
mov dword [esp + 0x20], edi
cmp dword [esp + 0x2c], edi
je 0x43c08f
push dword [esp + 0x2c]
call fcn.00446e2d
pop ecx
mov dword [esp + 0x2c], edi
cmp dword [esp + 0x24], 1
jne 0x43c3b9
mov esi, dword [esp + 0x4c]
call fcn.0043a3c7
mov eax, dword [ebx + 0xe9c]
mov eax, dword [eax + 0x30]
cmp eax, edi
je 0x43c0bb
push dword [esp + 0x1c]
push eax
call dword [fcn.004350f0]
mov eax, dword [ebx + 0xe9c]
mov eax, dword [eax + 0x30]
cmp eax, edi
je 0x43c0d8
push eax
call fcn.00446e2d
mov eax, dword [ebx + 0xe9c]
pop ecx
mov dword [eax + 0x30], edi
push dword [esp + 0x1c]
call dword [fcn.00435128]
inc eax
push eax
call fcn.004468af
pop ecx
mov ecx, dword [ebx + 0xe9c]
mov dword [ecx + 0x30], eax
mov eax, dword [ebx + 0xe9c]
cmp dword [eax + 0x30], edi
je 0x43c10b
push dword [esp + 0x1c]
push dword [eax + 0x30]
call dword [fcn.00435050]
mov eax, dword [ebx + 0xe9c]
push 0x64
mov dword [eax + 0xe8c], edi
pop esi
mov eax, dword [ebx + 0xe9c]
cmp dword [esi + eax], edi
je 0x43c16b
mov ecx, eax
mov edx, dword [esi + ecx + 0x190]
cmp edx, dword [esi + ecx]
je 0x43c146
lea eax, [esi + eax + 0x190]
cmp dword [eax], edi
je 0x43c146
push dword [eax]
call fcn.00446e2d
pop ecx
mov eax, dword [ebx + 0xe9c]
mov dword [esi + eax + 0x190], edi
mov eax, dword [ebx + 0xe9c]
push dword [esi + eax]
call fcn.00446e2d
mov eax, dword [ebx + 0xe9c]
pop ecx
mov dword [esi + eax], edi
mov eax, dword [ebx + 0xe9c]
lea eax, [esi + eax + 0x320]
cmp dword [eax], edi
je 0x43c191
push dword [eax]
call fcn.00446e2d
mov eax, dword [ebx + 0xe9c]
pop ecx
mov dword [esi + eax + 0x320], edi
mov eax, dword [ebx + 0xe9c]
lea eax, [eax + esi + 0x640]
cmp dword [eax], edi
je 0x43c1b7
push dword [eax]
call fcn.00446e2d
mov eax, dword [ebx + 0xe9c]
pop ecx
mov dword [esi + eax + 0x640], edi
mov eax, dword [ebx + 0xe9c]
lea eax, [esi + eax + 0x7d0]
cmp dword [eax], edi
je 0x43c1dd
push dword [eax]
call fcn.00446e2d
mov eax, dword [ebx + 0xe9c]
pop ecx
mov dword [esi + eax + 0x7d0], edi
add esi, 4
cmp esi, 0x1f4
jb 0x43c11a
mov eax, dword [ebx + 0xe9c]
mov eax, dword [eax + 0xe90]
cmp eax, edi
je 0x43c20f
push eax
call fcn.00446e2d
mov eax, dword [ebx + 0xe9c]
pop ecx
mov dword [eax + 0xe90], edi
mov eax, dword [ebx + 0xe9c]
mov dword [eax + 0xe94], edi
mov eax, dword [ebx + 0xe9c]
mov dword [eax + 0xe98], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x18], edi
cmp dword [esp + 0x34], edi
jbe 0x43c3ac
mov esi, 0x1f4
lea eax, [esp + 0x10]
push eax
push edi
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x68]
push eax
push edi
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x44]
mov dword [esp + 0x78], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x8c], 0x18
mov dword [esp + 0x60], edi
mov dword [esp + 0x70], edi
call fcn.0043c9ec
add esp, 0x30
cmp eax, 1
jne 0x43c397
mov eax, dword [ebx + 0xe9c]
mov ecx, dword [esp + 0x48]
mov dword [esi + eax - 0x190], ecx
mov eax, dword [ebx + 0xe9c]
mov ecx, dword [esp + 0x50]
mov dword [esi + eax], ecx
mov eax, dword [ebx + 0xe9c]
mov ecx, dword [esp + 0x3c]
mov dword [esi + eax + 0x190], ecx
mov eax, dword [ebx + 0xe9c]
mov ecx, dword [esp + 0x20]
mov dword [esi + eax + 0x4b0], ecx
mov eax, dword [ebx + 0xe9c]
mov ecx, dword [esp + 0x5c]
mov dword [esi + eax + 0x960], ecx
mov eax, dword [ebx + 0xe9c]
mov ecx, dword [esp + 0x40]
mov dword [esi + eax + 0xaf0], ecx
call dword [fcn.00435110]
mov ecx, dword [ebx + 0xe9c]
mov dword [esi + ecx + 0x7d0], eax
mov eax, dword [ebx + 0xe9c]
mov ecx, dword [esp + 0x44]
mov dword [esi + eax + 0x640], ecx
cmp dword [esp + 0x30], edi
je 0x43c386
push dword [esp + 0x30]
call fcn.00447674
pop ecx
cmp eax, edi
jle 0x43c369
mov ecx, dword [ebx + 0xe9c]
mov dword [esi + ecx + 0x320], eax
jmp 0x43c37a
mov eax, dword [ebx + 0xe9c]
mov dword [esi + eax + 0x320], 1
push dword [esp + 0x30]
call fcn.00446e2d
pop ecx
jmp 0x43c397
mov eax, dword [ebx + 0xe9c]
mov dword [esi + eax + 0x320], 1
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add esi, 4
cmp eax, dword [esp + 0x34]
jb 0x43c24e
mov esi, dword [esp + 0x4c]
call fcn.0043a3d8
mov esi, dword [esp + 0x38]
cmp esi, edi
je 0x43c3c3
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebx + 0xe9c]
mov esi, dword [eax + 0xf24]
push esi
push 0x43d044
lea eax, [esp + 0xb4]
push 0xa
push eax
call fcn.00446f5a
add esp, 0x10
cmp dword [esp + 0x10], edi
jne 0x43c422
cmp dword [esp + 0x14], edi
jne 0x43c422
push esi
push 0x43d06c
lea eax, [esp + 0xb4]
push 0xa
push eax
call fcn.00446f5a
add esp, 0x10
call dword [fcn.00435110]
mov ecx, dword [ebx + 0xe9c]
mov dword [ecx + 0xee0], eax
jmp 0x43c4ca
push 7
xor eax, eax
cmp dword [esp + 0x14], 0
pop ecx
lea edi, [esp + 0x8c]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
je 0x43c47f
push dword [esp + 0x10]
lea eax, [esp + 0x90]
push 0x43d048
push 0x1e
push eax
call fcn.00446f5a
add esp, 0x10
lea eax, [esp + 0x8c]
push eax
call dword [fcn.00435128]
cmp eax, 1
jne 0x43c489
mov al, byte [esp + 0x8c]
mov byte [esp + 0x8d], al
mov byte [esp + 0x8c], 0x30
jmp 0x43c489
mov word [esp + 0x8c], 0x3030
cmp dword [esp + 0x14], 0
push esi
push dword [esp + 0x58]
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0xc4]
je 0x43c4ba
push dword [esp + 0x20]
push 0x43d04c
push 0x1e
push eax
call fcn.00446f5a
add esp, 0x1c
jmp 0x43c4ca
push 0x43d05c
push 0x1e
push eax
call fcn.00446f5a
add esp, 0x18
cmp dword [esp + 0x28], 0
je 0x43c4db
push dword [esp + 0x28]
call fcn.00446e2d
pop ecx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0xcc]
xor ecx, esp
call fcn.004468ba
mov esp, ebp
pop ebp
ret