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

Disassembly:
sub esp, 0x13c
mov eax, dword [0x6ccd44]
xor eax, esp
mov dword [esp + 0x134], eax
push ebx
push ebp
push esi
push edi
xor eax, eax
lea edi, [esp + 0x1c]
stosd dword es:[edi], eax
mov ebx, ecx
push 0x50
pop edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [esp + 0x1c], 0x6b7ee0
mov dword [esp + 0x24], 0x10b9
call fcn.00418921
lea eax, [ebx + 0x64]
xor ebp, ebp
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x1c]
or esi, 0xffffffff
call fcn.0044578e
push esi
lea ecx, [esp + 0x20]
mov edi, eax
call fcn.00445769
mov dword [esp + 0x34], eax
pop ecx
cmp edi, 3
jne 0x4313f9
lea ecx, [esp + 0x1c]
call fcn.0044578e
push dword [esp + 0x30]
lea ecx, [esp + 0x20]
mov esi, dword [eax*4 + 0x6b7820]
call fcn.00445769
pop ecx
push 0xffffffffffffffff
pop ecx
cmp eax, 7
mov edx, esi
push 5
cmove eax, ecx
mov ecx, ebx
push 0x18075380
push eax
call fcn.0041afeb
mov eax, dword [ebx + 0x44]
lea edx, [esp + 0x28]
add esp, 0xc
mov ecx, ebx
mov esi, dword [eax - 8]
call fcn.0043126e
mov edx, 0xfe005d04
mov ecx, ebx
call fcn.00417f6b
xor edx, edx
lea ecx, [esp + 0x1c]
inc edx
call fcn.0044570c
test eax, eax
jne 0x4313ea
and dword [esi], 0xfffffeff
lea ecx, [esp + 0x1c]
call fcn.0044578e
mov word [esi + 0x2e], ax
jmp 0x43143d
mov ecx, ebx
cmp edi, 2
jne 0x431407
call fcn.0041ad3d
jmp 0x43143d
cmp edi, 0xf
jne 0x431431
push 0x30
mov edx, 0x78000080
call fcn.0042cccf
pop ecx
mov esi, eax
mov ecx, ebx
mov edx, esi
call fcn.0041b57e
mov ecx, dword [ebx + 0x40]
mov ecx, dword [ecx]
mov dword [esi + 0x28], ecx
inc dword [ecx + 4]
jmp 0x43143d
push esi
mov edx, 0x4080
call fcn.0041acad
pop ecx
mov eax, dword [ebx + 0x44]
mov esi, dword [eax - 8]
mov eax, edi
shl eax, 0x1b
mov ecx, dword [esi]
and ecx, 0x7ffffff
or ecx, eax
mov dword [esi], ecx
cmp ebp, 0x33
jae 0x431462
mov eax, dword [esp + 0x14]
mov dword [eax], esi
inc dword [esi + 4]
mov eax, dword [esp + 0x30]
test eax, eax
js 0x43147f
mov edx, eax
mov ecx, ebx
call fcn.0041a824
mov edx, 0xfe005704
mov ecx, ebx
call fcn.00417f6b
cmp edi, 0xc
jne 0x43148a
or dword [esi], 0x800000
add dword [esp + 0x14], 4
inc ebp
cmp ebp, 0x50
jb 0x43135a
xor ebp, ebp
mov esi, ebp
mov dword [esp + 0x14], ebp
mov edx, esi
mov ecx, ebx
call fcn.00419456
lea ecx, [esp + 0x1c]
mov edi, eax
call fcn.0044578e
test eax, eax
je 0x4314c6
lea edx, [eax - 1]
mov ecx, ebx
call fcn.00419456
push eax
jmp 0x4314d3
test dword [edi], 0x1000
je 0x4314db
push dword [ebx + 0x78]
mov ecx, ebx
mov edx, edi
call fcn.0042d4e4
pop ecx
lea ecx, [esp + 0x1c]
call fcn.0044578e
test eax, eax
je 0x431500
lea edx, [eax - 1]
mov ecx, ebx
call fcn.00418986
push ebp
push 0x32
mov edx, esi
mov ecx, ebx
call fcn.00417f43
pop ecx
pop ecx
lea ecx, [esp + 0x1c]
call fcn.0044578e
test eax, eax
je 0x431526
lea edx, [eax - 1]
mov ecx, ebx
call fcn.00418986
push 5
push 0x33
mov edx, esi
mov ecx, ebx
call fcn.00417f43
pop ecx
pop ecx
lea ecx, [esp + 0x1c]
call fcn.0044578e
mov dword [esp + 0x18], eax
test eax, eax
je 0x4316ba
lea edx, [esp + 0x1c]
mov ecx, ebx
call fcn.0043126e
push 5
lea ecx, [esp + 0x20]
call fcn.00445769
pop ecx
mov edi, eax
lea ecx, [esp + 0x1c]
push 3
pop edx
or edi, 0x278
call fcn.0044570c
cmp eax, 7
ja case.default.0x43156f
jmp dword [eax*4 + 0x431854]
mov esi, ebp
push 8
pop edx
lea ecx, [esp + 0x1c]
call fcn.0044570c
mov byte [esp + esi + 0x38], al
inc esi
cmp esi, 8
jb 0x431578
movsd xmm1, qword [esp + 0x38]
mov ecx, ebx
call fcn.0041a7b7
jmp 0x4316a0
lea edx, [esp + 0x40]
lea ecx, [esp + 0x1c]
call fcn.004457e2
push eax
lea edx, [esp + 0x44]
mov ecx, ebx
call fcn.0041a8d4
pop ecx
jmp case.default.0x43156f
lea ecx, [esp + 0x1c]
call fcn.0044578e
mov edx, eax
mov ecx, ebx
call fcn.0041b560
jmp case.default.0x43156f
lea ecx, [esp + 0x1c]
call fcn.0044578e
mov edx, eax
mov ecx, ebx
call fcn.00418986
jmp case.default.0x43156f
mov ecx, ebx
call fcn.0041a6db
jmp case.default.0x43156f
mov ecx, ebx
call fcn.0041a761
jmp case.default.0x43156f
mov ecx, ebx
call fcn.0041a78c
jmp case.default.0x43156f
lea ecx, [esp + 0x1c]
call fcn.0044578e
lea ecx, [esp + 0x1c]
mov esi, eax
call fcn.0044578e
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], eax
call fcn.0044578e
mov edx, dword [esi*4 + 0x6b7820]
mov dword [esp + 0x30], eax
test edx, edx
je 0x431668
push 5
push 0x18075280
push ebp
mov ecx, ebx
call fcn.0041afeb
mov esi, dword [esp + 0x3c]
add esp, 0xc
mov ecx, ebx
push esi
call fcn.00416a37
pop ecx
or edi, 0x80
jmp 0x43166c
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov edx, dword [edx*4 + 0x6b7820]
test edx, edx
je 0x43169d
push 5
push 0x18075280
push 1
mov ecx, ebx
call fcn.0041afeb
add esp, 0xc
mov ecx, ebx
push esi
call fcn.00416a37
pop ecx
or edi, 0x100
and edi, 0xffffffb7
mov esi, dword [esp + 0x14]
push edi
mov edx, esi
mov ecx, ebx
call fcn.00417fca
sub dword [esp + 0x1c], 1
pop ecx
jne 0x43153b
lea ecx, [esp + 0x1c]
call fcn.0044578e
mov dword [esp + 0x34], eax
test eax, eax
je 0x4317ce
mov ebp, eax
lea edx, [esp + 0x1c]
mov ecx, ebx
call fcn.0043126e
lea ecx, [esp + 0x1c]
call fcn.0044578e
push 3
pop edx
lea ecx, [esp + 0x1c]
mov edi, dword [eax*4 + 0x6b7820]
call fcn.0044570c
push eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x1c], eax
call fcn.00445769
pop ecx
mov esi, eax
lea ecx, [esp + 0x1c]
push 0xffffffffffffffff
cmp esi, 7
pop eax
cmove esi, eax
call fcn.0044578e
push 5
movzx eax, ax
mov edx, edi
push 0x18075280
push esi
mov ecx, ebx
mov dword [esp + 0x40], eax
call fcn.0041afeb
mov eax, dword [ebx + 0x44]
add esp, 0xc
mov eax, dword [eax - 8]
cmp edi, 0x42342e
je 0x431764
cmp edi, 0x422bda
je 0x431764
cmp edi, 0x422bda
je 0x431764
cmp edi, 0x422bda
je 0x431764
cmp edi, 0x422bda
jne 0x43176a
or dword [eax], 0x4000000
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
or dword [eax], 0x10000
mov word [eax + 0x2e], cx
mov ecx, ebx
call fcn.0041a856
mov edx, 0xfe005704
mov ecx, ebx
call fcn.00417f6b
push 0xfffffffffffffffe
pop edx
mov ecx, ebx
call fcn.00418986
mov edx, 0xfe005d04
mov ecx, ebx
call fcn.00417f6b
push 5
lea ecx, [esp + 0x20]
call fcn.00445769
mov esi, dword [esp + 0x18]
or eax, 0x278
pop ecx
push eax
mov edx, esi
mov ecx, ebx
call fcn.00417fca
pop ecx
sub ebp, 1
jne 0x4316d1
inc esi
mov dword [esp + 0x14], esi
cmp esi, 0x50
jb 0x4314a1
push 0x29
push 0x10
pop edx
mov ecx, ebx
call fcn.00417acd
pop ecx
mov edx, 0x10002b05
mov ecx, ebx
call fcn.00417f6b
mov eax, dword [ebx + 0x40]
mov edx, str.ll_p_nl_p2_a8_x86_windows_msvc
mov ecx, ebx
mov eax, dword [eax + 0x128]
and dword [eax], 0xffffff7f
call fcn.0041a93d
mov edx, 0x22006f05
mov ecx, ebx
call fcn.00417f6b
mov edx, ebp
mov ecx, ebx
call fcn.00419456
mov edx, eax
call fcn.0042defb
inc ebp
cmp ebp, 0x50
jb 0x43181c
xor edx, edx
mov ecx, ebx
call fcn.004185da
mov ecx, dword [esp + 0x144]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005b35b0
add esp, 0x13c
ret