Function at 0x4312f0
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 0x431b14
sub esp, 0x84
mov edx, dword [esp + 0x8c]
mov ebx, dword [edx + 0x1c]
xor eax, eax
jmp 0x431322
mov eax, ebx
mov ebx, ebp
nop
lea ebp, [ebx + 1]
cmp byte [ebx], 0x80
jb 0x431340
test eax, eax
jl 0x431b09
lea ebx, [eax + 7]
cmp ebx, 0x1c
jle 0x43131e
jmp 0x431af1
test eax, eax
jl 0x431b0e
xor eax, eax
xor ecx, ecx
jmp 0x431352
mov eax, ebx
mov ecx, esi
movzx ebx, byte [ebp]
nop
inc ebp
cmp bl, 0x80
jb 0x431386
test ecx, ecx
jl 0x431ae7
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 0x43134e
jmp 0x431acf
test ecx, ecx
jl 0x431aec
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 0x4313a9
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 0x4313e4
test ecx, ecx
jl 0x431ac5
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 0x4313a3
jmp 0x431aad
test ecx, ecx
jl 0x431aca
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 0x431618
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 0x431453
test ecx, ecx
jl 0x431aa3
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 0x431411
jmp 0x431a8b
test ecx, ecx
jl 0x431aa8
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 0x43147f
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 0x4314b8
test ecx, ecx
jl 0x431a81
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 0x431477
jmp 0x431a69
test ecx, ecx
jl 0x431a86
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 0x4314e4
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 0x43151d
test ecx, ecx
jl 0x431a5f
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 0x4314dc
jmp 0x431a47
test ecx, ecx
jl 0x431a64
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 0x43162d
mov edx, dword [esp + 0x68]
xor eax, eax
jmp 0x431608
mov ecx, edx
mov edx, ebx
mov ebx, dword [esp + 0x40]
nop
lea ebx, [edx + 1]
cmp byte [edx], 0x80
jb 0x43159d
test ecx, ecx
jl 0x431a3d
lea edx, [ecx + 7]
cmp edx, 0x1c
jle 0x431577
jmp 0x431a25
test ecx, ecx
jl 0x431a42
xor ecx, ecx
jmp 0x4315ad
mov ecx, ebx
mov ebx, edx
nop
lea edx, [ebx + 1]
cmp byte [ebx], 0x80
jb 0x4315cb
test ecx, ecx
jl 0x431a1b
lea ebx, [ecx + 7]
cmp ebx, 0x1c
jle 0x4315a9
jmp 0x431a03
test ecx, ecx
jl 0x431a20
xor ecx, ecx
jmp 0x4315db
mov ecx, edx
mov edx, ebx
nop
lea ebx, [edx + 1]
cmp byte [edx], 0x80
jb 0x4315f9
test ecx, ecx
jl 0x4319f9
lea edx, [ecx + 7]
cmp edx, 0x1c
jle 0x4315d7
jmp 0x4319e1
test ecx, ecx
jl 0x4319fe
inc eax
mov edx, ebx
mov ebx, dword [esp + 0x40]
cmp ebp, eax
jbe 0x431613
xor ecx, ecx
jmp 0x43157f
dec ebx
mov ebp, edx
mov edx, esi
test ebx, ebx
jl 0x431974
mov byte [esp + 0x12], dl
xor eax, eax
xor ecx, ecx
jmp 0x43141a
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 [0x71e9f0]
test edx, edx
jne 0x43195e
mov dword [edi + 0x10], ebx
mov edx, dword [edi]
test edx, edx
jne 0x431955
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 0x431853
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 0x4316f3
mov ebp, dword [esp + 0x2c]
test ebp, ebp
jl 0x4319d7
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 0x43168e
jmp 0x4319bf
mov ebp, dword [esp + 0x2c]
test ebp, ebp
jl 0x4319dc
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 0x431724
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 0x431765
test ebx, ebx
jl 0x4319b5
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 0x43171e
jmp 0x43199d
test ebx, ebx
jl 0x4319ba
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 0x431794
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 0x4317d5
test ebx, ebx
jl 0x431993
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 0x43178e
jmp 0x43197b
test ebx, ebx
jl 0x431998
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.0045eba0
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 0x431885
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 0x4316b2
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.00431b20
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4318d0
movzx ecx, byte [eax + 0x19]
test cl, cl
jne 0x43194e
mov ecx, dword [0x71e9f0]
test ecx, ecx
jne 0x43193e
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.0045e9c0
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x431912
movzx edx, byte [ecx + 0x18]
test dl, dl
jne 0x431926
mov ebx, dword [esp + 0x40]
mov edi, eax
mov edx, dword [esp + 0x74]
movzx esi, byte [esp + 0x12]
jmp 0x431613
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.0045e220
jmp 0x4318e8
mov eax, 1
jmp 0x431930
nop
lea edx, [edi + 0x28]
jmp 0x431660
mov edx, edi
mov edi, esi
mov eax, ebx
call fcn.0045e220
mov eax, dword [esp + 0x40]
mov edi, edx
jmp 0x431654
mov eax, 1
jmp 0x431930
lea eax, [0x5a5ba0]
mov dword [esp], eax
lea eax, [0x60eb00]
mov dword [esp + 4], eax
call fcn.00431c00
call fcn.00430560
call fcn.00430560
lea eax, [0x5a5ba0]
mov dword [esp], eax
lea eax, [0x60eb00]
mov dword [esp + 4], eax
call fcn.00431c00
call fcn.00430560
call fcn.00430560
lea eax, [0x5a5ba0]
mov dword [esp], eax
lea eax, [0x60eb00]
mov dword [esp + 4], eax
call fcn.00431c00
call fcn.00430560
call fcn.00430560
lea eax, [0x5a5ba0]
mov dword [esp], eax
lea eax, [0x60eb00]
mov dword [esp + 4], eax
call fcn.00431c00
call fcn.00430560
call fcn.00430560
lea eax, [0x5a5ba0]
mov dword [esp], eax
lea eax, [0x60eb00]
mov dword [esp + 4], eax
call fcn.00431c00
call fcn.00430560
call fcn.00430560
lea eax, [0x5a5ba0]
mov dword [esp], eax
lea eax, [0x60eb00]
mov dword [esp + 4], eax
call fcn.00431c00
call fcn.00430560
call fcn.00430560
lea eax, [0x5a5ba0]
mov dword [esp], eax
lea eax, [0x60eb00]
mov dword [esp + 4], eax
call fcn.00431c00
call fcn.00430560
call fcn.00430560
lea eax, [0x5a5ba0]
mov dword [esp], eax
lea eax, [0x60eb00]
mov dword [esp + 4], eax
call fcn.00431c00
call fcn.00430560
call fcn.00430560
lea eax, [0x5a5ba0]
mov dword [esp], eax
lea eax, [0x60eb00]
mov dword [esp + 4], eax
call fcn.00431c00
call fcn.00430560
call fcn.00430560
lea eax, [0x5a5ba0]
mov dword [esp], eax
lea eax, [0x60eb00]
mov dword [esp + 4], eax
call fcn.00431c00
call fcn.00430560
call fcn.00430560
lea eax, [0x5a5ba0]
mov dword [esp], eax
lea eax, [0x60eb00]
mov dword [esp + 4], eax
call fcn.00431c00
call fcn.00430560
call fcn.00430560
lea eax, [0x5a5ba0]
mov dword [esp], eax
lea eax, [0x60eb00]
mov dword [esp + 4], eax
call fcn.00431c00
call fcn.00430560
call fcn.00430560
nop
call fcn.0045ccc0
jmp fcn.004312f0