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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x431944
sub esp, 0x84
mov edx, dword [esp + 0x8c]
mov ebx, dword [edx + 0x1c]
xor eax, eax
jmp 0x431152
mov eax, ebx
mov ebx, ebp
nop
lea ebp, [ebx + 1]
cmp byte [ebx], 0x80
jb 0x431170
test eax, eax
jl 0x431939
lea ebx, [eax + 7]
cmp ebx, 0x1c
jle 0x43114e
jmp 0x431921
test eax, eax
jl 0x43193e
xor eax, eax
xor ecx, ecx
jmp 0x431182
mov eax, ebx
mov ecx, esi
movzx ebx, byte [ebp]
nop
inc ebp
cmp bl, 0x80
jb 0x4311b6
test ecx, ecx
jl 0x431917
cmp ecx, 0x20
sbb esi, esi
movzx ebx, bl
and ebx, 0xffffff7f
shl ebx, cl
and ebx, esi
add ebx, eax
lea esi, [ecx + 7]
cmp esi, 0x1c
jle 0x43117e
jmp 0x4318ff
test ecx, ecx
jl 0x43191c
cmp ecx, 0x20
sbb esi, esi
nop
movzx ebx, bl
shl ebx, cl
and ebx, esi
add ebx, eax
xor eax, eax
xor ecx, ecx
jmp 0x4311d9
mov eax, ebx
mov ecx, esi
mov ebx, edi
movzx esi, byte [ebp]
nop
inc ebp
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jb 0x431214
test ecx, ecx
jl 0x4318f5
cmp ecx, 0x20
mov edi, ebx
sbb ebx, ebx
xchg esi, eax
movzx eax, al
xchg esi, eax
and esi, 0xffffff7f
shl esi, cl
and esi, ebx
lea ebx, [eax + esi]
lea esi, [ecx + 7]
cmp esi, 0x1c
jle 0x4311d3
jmp 0x4318dd
test ecx, ecx
jl 0x4318fa
mov dword [esp + 0x44], ebx
mov edi, edx
mov edx, dword [edx + 0x20]
sub edx, ebx
cmp ecx, 0x20
sbb ebx, ebx
movzx edx, byte [edx]
xchg esi, eax
movzx eax, al
xchg esi, eax
shl esi, cl
and esi, ebx
lea ebx, [eax + esi - 1]
jmp 0x431448
mov eax, edx
mov ecx, esi
movzx edx, byte [esp + 0x12]
movzx esi, byte [ebp]
nop
inc ebp
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jb 0x431283
test ecx, ecx
jl 0x4318d3
cmp ecx, 0x20
sbb edx, edx
xchg esi, eax
movzx eax, al
xchg esi, eax
and esi, 0xffffff7f
shl esi, cl
and esi, edx
lea edx, [eax + esi]
lea esi, [ecx + 7]
cmp esi, 0x1c
jle 0x431241
jmp 0x4318bb
test ecx, ecx
jl 0x4318d8
cmp ecx, 0x20
sbb edx, edx
nop
xchg esi, eax
movzx eax, al
xchg esi, eax
shl esi, cl
and esi, edx
lea edx, [eax + esi]
mov dword [esp + 0x20], edx
xor eax, eax
xor ecx, ecx
jmp 0x4312af
mov eax, edx
mov ecx, esi
mov edx, dword [esp + 0x20]
movzx esi, byte [ebp]
nop
inc ebp
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jb 0x4312e8
test ecx, ecx
jl 0x4318b1
cmp ecx, 0x20
sbb edx, edx
xchg esi, eax
movzx eax, al
xchg esi, eax
and esi, 0xffffff7f
shl esi, cl
and esi, edx
lea edx, [eax + esi]
lea esi, [ecx + 7]
cmp esi, 0x1c
jle 0x4312a7
jmp 0x431899
test ecx, ecx
jl 0x4318b6
cmp ecx, 0x20
sbb edx, edx
nop
xchg esi, eax
movzx eax, al
xchg esi, eax
shl esi, cl
and esi, edx
lea edx, [eax + esi]
mov dword [esp + 0x14], edx
xor eax, eax
xor ecx, ecx
jmp 0x431314
mov eax, edx
mov ecx, esi
mov edx, dword [esp + 0x14]
movzx esi, byte [ebp]
nop
inc ebp
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jb 0x43134d
test ecx, ecx
jl 0x43188f
cmp ecx, 0x20
sbb edx, edx
xchg esi, eax
movzx eax, al
xchg esi, eax
and esi, 0xffffff7f
shl esi, cl
and esi, edx
lea edx, [eax + esi]
lea esi, [ecx + 7]
cmp esi, 0x1c
jle 0x43130c
jmp 0x431877
test ecx, ecx
jl 0x431894
mov dword [esp + 0x40], ebx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x28], ecx
cmp ebx, 0x20
sbb ebp, ebp
cmp ecx, 0x20
sbb edx, edx
mov dword [esp + 0x48], edx
mov ecx, ebx
mov edx, 1
shl edx, cl
and edx, ebp
xchg esi, eax
movzx ebp, al
xchg esi, eax
mov ecx, dword [esp + 0x28]
shl ebp, cl
mov esi, dword [esp + 0x48]
and ebp, esi
add ebp, eax
movzx esi, byte [esp + 0x12]
xchg esi, eax
test dl, al
xchg esi, eax
jne 0x43145d
mov edx, dword [esp + 0x68]
xor eax, eax
jmp 0x431438
mov ecx, edx
mov edx, ebx
mov ebx, dword [esp + 0x40]
nop
lea ebx, [edx + 1]
cmp byte [edx], 0x80
jb 0x4313cd
test ecx, ecx
jl 0x43186d
lea edx, [ecx + 7]
cmp edx, 0x1c
jle 0x4313a7
jmp 0x431855
test ecx, ecx
jl 0x431872
xor ecx, ecx
jmp 0x4313dd
mov ecx, ebx
mov ebx, edx
nop
lea edx, [ebx + 1]
cmp byte [ebx], 0x80
jb 0x4313fb
test ecx, ecx
jl 0x43184b
lea ebx, [ecx + 7]
cmp ebx, 0x1c
jle 0x4313d9
jmp 0x431833
test ecx, ecx
jl 0x431850
xor ecx, ecx
jmp 0x43140b
mov ecx, edx
mov edx, ebx
nop
lea ebx, [edx + 1]
cmp byte [edx], 0x80
jb 0x431429
test ecx, ecx
jl 0x431829
lea edx, [ecx + 7]
cmp edx, 0x1c
jle 0x431407
jmp 0x431811
test ecx, ecx
jl 0x43182e
inc eax
mov edx, ebx
mov ebx, dword [esp + 0x40]
cmp ebp, eax
jbe 0x431443
xor ecx, ecx
jmp 0x4313af
dec ebx
mov ebp, edx
mov edx, esi
test ebx, ebx
jl 0x4317a4
mov byte [esp + 0x12], dl
xor eax, eax
xor ecx, ecx
jmp 0x43124a
mov byte [esp + 0x13], dl
mov eax, ebx
mov ebx, dword [edi + 0x20]
mov ecx, esi
mov esi, dword [esp + 0x14]
sub ebx, esi
mov ebx, dword [ebx]
lea esi, [edi + 0x10]
mov edx, dword [0x7a0970]
test edx, edx
jne 0x43178e
mov dword [edi + 0x10], ebx
mov edx, dword [edi]
test edx, edx
jne 0x431785
xor edx, edx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], esi
mov dword [esp + 0x78], edx
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x5c]
jmp 0x431683
movzx ecx, byte [esp + 0x12]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x80]
mov esi, dword [esp + 0x6c]
movzx ebx, byte [esi]
nop
inc esi
cmp bl, 0x80
jb 0x431523
mov ebp, dword [esp + 0x2c]
test ebp, ebp
jl 0x431807
cmp ebp, 0x20
sbb eax, eax
movzx ebx, bl
and ebx, 0xffffff7f
mov ecx, ebp
shl ebx, cl
and ebx, eax
mov eax, dword [esp + 0x34]
add eax, ebx
lea ebx, [ecx + 7]
cmp ebx, 0x1c
jle 0x4314be
jmp 0x4317ef
mov ebp, dword [esp + 0x2c]
test ebp, ebp
jl 0x43180c
cmp ebp, 0x20
sbb eax, eax
nop
movzx ebx, bl
mov ecx, ebp
shl ebx, cl
and ebx, eax
mov eax, dword [esp + 0x34]
add eax, ebx
mov dword [esp + 0x18], eax
xor ecx, ecx
xor ebx, ebx
jmp 0x431554
mov ecx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
movzx ebp, byte [esi]
nop
inc esi
xchg ebp, eax
cmp al, 0x80
xchg ebp, eax
jb 0x431595
test ebx, ebx
jl 0x4317e5
cmp ebx, 0x20
sbb eax, eax
xchg ebp, eax
movzx eax, al
xchg ebp, eax
and ebp, 0xffffff7f
mov ecx, ebx
shl ebp, cl
and ebp, eax
mov eax, dword [esp + 0x30]
add eax, ebp
lea ebx, [ecx + 7]
cmp ebx, 0x1c
jle 0x43154e
jmp 0x4317cd
test ebx, ebx
jl 0x4317ea
cmp ebx, 0x20
sbb eax, eax
nop
xchg ebp, eax
movzx eax, al
xchg ebp, eax
mov ecx, ebx
shl ebp, cl
and ebp, eax
mov eax, dword [esp + 0x30]
add eax, ebp
mov dword [esp + 0x24], eax
xor ecx, ecx
xor ebx, ebx
jmp 0x4315c4
mov ecx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x38], ecx
movzx ebp, byte [esi]
nop
inc esi
xchg ebp, eax
cmp al, 0x80
xchg ebp, eax
jb 0x431605
test ebx, ebx
jl 0x4317c3
cmp ebx, 0x20
sbb eax, eax
xchg ebp, eax
movzx eax, al
xchg ebp, eax
and ebp, 0xffffff7f
mov ecx, ebx
shl ebp, cl
and ebp, eax
mov eax, dword [esp + 0x38]
add eax, ebp
lea ebx, [ecx + 7]
cmp ebx, 0x1c
jle 0x4315be
jmp 0x4317ab
test ebx, ebx
jl 0x4317c8
mov dword [esp + 0x64], esi
cmp ebx, 0x20
sbb esi, esi
xchg ebp, eax
movzx eax, al
xchg ebp, eax
mov ecx, ebx
shl ebp, cl
and ebp, esi
mov ebx, dword [esp + 0x38]
add ebx, ebp
add ebx, edx
mov ebp, dword [edi + 0x20]
mov esi, dword [esp + 0x18]
sub ebp, esi
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0045e7b0
mov eax, dword [esp + 0x3c]
inc eax
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x64]
movzx ecx, byte [esp + 0x12]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x40]
movzx ecx, byte [esp + 0x12]
mov eax, dword [esp + 0x3c]
cmp ebp, eax
jbe 0x4316b5
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x6c], eax
mov byte [esp + 0x4c], cl
xor ecx, ecx
mov dword [esp + 0x34], ecx
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x54]
movzx ecx, byte [esp + 0x4c]
jmp 0x4314e2
mov eax, dword [edi + 0x20]
mov ebp, dword [esp + 0x44]
sub eax, ebp
movzx esi, byte [esp + 0x13]
xchg esi, ebx
not ebx
xchg esi, ebx
and ecx, esi
mov byte [esp + 0x12], cl
mov byte [eax], cl
mov eax, dword [edi + 0x14]
mov dword [esp + 0x70], eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0xc], ebx
call fcn.00431950
mov eax, dword [esp + 0x70]
test eax, eax
je 0x431700
movzx ecx, byte [eax + 0x19]
test cl, cl
jne 0x43177e
mov ecx, dword [0x7a0970]
test ecx, ecx
jne 0x43176e
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
call fcn.0045e5d0
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x431742
movzx edx, byte [ecx + 0x18]
test dl, dl
jne 0x431756
mov ebx, dword [esp + 0x40]
mov edi, eax
mov edx, dword [esp + 0x74]
movzx esi, byte [esp + 0x12]
jmp 0x431443
movzx eax, byte [esp + 0x12]
test al, al
sete al
mov byte [esp + 0x90], al
add esp, 0x84
ret
mov edi, dword [esp + 0x80]
xor eax, eax
call fcn.0045de10
jmp 0x431718
mov eax, 1
jmp 0x431760
nop
lea edx, [edi + 0x28]
jmp 0x431490
mov edx, edi
mov edi, esi
mov eax, ebx
call fcn.0045de10
mov eax, dword [esp + 0x40]
mov edi, edx
jmp 0x431484
mov eax, 1
jmp 0x431760
lea eax, [0x5db180]
mov dword [esp], eax
lea eax, [0x65c150]
mov dword [esp + 4], eax
call fcn.00431a30
call fcn.00430390
call fcn.00430390
lea eax, [0x5db180]
mov dword [esp], eax
lea eax, [0x65c150]
mov dword [esp + 4], eax
call fcn.00431a30
call fcn.00430390
call fcn.00430390
lea eax, [0x5db180]
mov dword [esp], eax
lea eax, [0x65c150]
mov dword [esp + 4], eax
call fcn.00431a30
call fcn.00430390
call fcn.00430390
lea eax, [0x5db180]
mov dword [esp], eax
lea eax, [0x65c150]
mov dword [esp + 4], eax
call fcn.00431a30
call fcn.00430390
call fcn.00430390
lea eax, [0x5db180]
mov dword [esp], eax
lea eax, [0x65c150]
mov dword [esp + 4], eax
call fcn.00431a30
call fcn.00430390
call fcn.00430390
lea eax, [0x5db180]
mov dword [esp], eax
lea eax, [0x65c150]
mov dword [esp + 4], eax
call fcn.00431a30
call fcn.00430390
call fcn.00430390
lea eax, [0x5db180]
mov dword [esp], eax
lea eax, [0x65c150]
mov dword [esp + 4], eax
call fcn.00431a30
call fcn.00430390
call fcn.00430390
lea eax, [0x5db180]
mov dword [esp], eax
lea eax, [0x65c150]
mov dword [esp + 4], eax
call fcn.00431a30
call fcn.00430390
call fcn.00430390
lea eax, [0x5db180]
mov dword [esp], eax
lea eax, [0x65c150]
mov dword [esp + 4], eax
call fcn.00431a30
call fcn.00430390
call fcn.00430390
lea eax, [0x5db180]
mov dword [esp], eax
lea eax, [0x65c150]
mov dword [esp + 4], eax
call fcn.00431a30
call fcn.00430390
call fcn.00430390
lea eax, [0x5db180]
mov dword [esp], eax
lea eax, [0x65c150]
mov dword [esp + 4], eax
call fcn.00431a30
call fcn.00430390
call fcn.00430390
lea eax, [0x5db180]
mov dword [esp], eax
lea eax, [0x65c150]
mov dword [esp + 4], eax
call fcn.00431a30
call fcn.00430390
call fcn.00430390
nop
call fcn.0045c8b0
jmp fcn.00431120