Function at 0x4310f0
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 0x431914
sub esp, 0x84
mov edx, dword [esp + 0x8c]
mov ebx, dword [edx + 0x1c]
xor eax, eax
jmp 0x431122
mov eax, ebx
mov ebx, ebp
nop
lea ebp, [ebx + 1]
cmp byte [ebx], 0x80
jb 0x431140
test eax, eax
jl 0x431909
lea ebx, [eax + 7]
cmp ebx, 0x1c
jle 0x43111e
jmp 0x4318f1
test eax, eax
jl 0x43190e
xor eax, eax
xor ecx, ecx
jmp 0x431152
mov eax, ebx
mov ecx, esi
movzx ebx, byte [ebp]
nop
inc ebp
cmp bl, 0x80
jb 0x431186
test ecx, ecx
jl 0x4318e7
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 0x43114e
jmp 0x4318cf
test ecx, ecx
jl 0x4318ec
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 0x4311a9
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 0x4311e4
test ecx, ecx
jl 0x4318c5
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 0x4311a3
jmp 0x4318ad
test ecx, ecx
jl 0x4318ca
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 0x431418
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 0x431253
test ecx, ecx
jl 0x4318a3
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 0x431211
jmp 0x43188b
test ecx, ecx
jl 0x4318a8
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 0x43127f
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 0x4312b8
test ecx, ecx
jl 0x431881
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 0x431277
jmp 0x431869
test ecx, ecx
jl 0x431886
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 0x4312e4
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 0x43131d
test ecx, ecx
jl 0x43185f
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 0x4312dc
jmp 0x431847
test ecx, ecx
jl 0x431864
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 0x43142d
mov edx, dword [esp + 0x68]
xor eax, eax
jmp 0x431408
mov ecx, edx
mov edx, ebx
mov ebx, dword [esp + 0x40]
nop
lea ebx, [edx + 1]
cmp byte [edx], 0x80
jb 0x43139d
test ecx, ecx
jl 0x43183d
lea edx, [ecx + 7]
cmp edx, 0x1c
jle 0x431377
jmp 0x431825
test ecx, ecx
jl 0x431842
xor ecx, ecx
jmp 0x4313ad
mov ecx, ebx
mov ebx, edx
nop
lea edx, [ebx + 1]
cmp byte [ebx], 0x80
jb 0x4313cb
test ecx, ecx
jl 0x43181b
lea ebx, [ecx + 7]
cmp ebx, 0x1c
jle 0x4313a9
jmp 0x431803
test ecx, ecx
jl 0x431820
xor ecx, ecx
jmp 0x4313db
mov ecx, edx
mov edx, ebx
nop
lea ebx, [edx + 1]
cmp byte [edx], 0x80
jb 0x4313f9
test ecx, ecx
jl 0x4317f9
lea edx, [ecx + 7]
cmp edx, 0x1c
jle 0x4313d7
jmp 0x4317e1
test ecx, ecx
jl 0x4317fe
inc eax
mov edx, ebx
mov ebx, dword [esp + 0x40]
cmp ebp, eax
jbe 0x431413
xor ecx, ecx
jmp 0x43137f
dec ebx
mov ebp, edx
mov edx, esi
test ebx, ebx
jl 0x431774
mov byte [esp + 0x12], dl
xor eax, eax
xor ecx, ecx
jmp 0x43121a
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 [0x770e60]
test edx, edx
jne 0x43175e
mov dword [edi + 0x10], ebx
mov edx, dword [edi]
test edx, edx
jne 0x431755
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 0x431653
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 0x4314f3
mov ebp, dword [esp + 0x2c]
test ebp, ebp
jl 0x4317d7
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 0x43148e
jmp 0x4317bf
mov ebp, dword [esp + 0x2c]
test ebp, ebp
jl 0x4317dc
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 0x431524
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 0x431565
test ebx, ebx
jl 0x4317b5
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 0x43151e
jmp 0x43179d
test ebx, ebx
jl 0x4317ba
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 0x431594
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 0x4315d5
test ebx, ebx
jl 0x431793
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 0x43158e
jmp 0x43177b
test ebx, ebx
jl 0x431798
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.0045e900
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 0x431685
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 0x4314b2
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.00431920
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4316d0
movzx ecx, byte [eax + 0x19]
test cl, cl
jne 0x43174e
mov ecx, dword [0x770e60]
test ecx, ecx
jne 0x43173e
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.0045e720
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x431712
movzx edx, byte [ecx + 0x18]
test dl, dl
jne 0x431726
mov ebx, dword [esp + 0x40]
mov edi, eax
mov edx, dword [esp + 0x74]
movzx esi, byte [esp + 0x12]
jmp 0x431413
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.0045df70
jmp 0x4316e8
mov eax, 1
jmp 0x431730
nop
lea edx, [edi + 0x28]
jmp 0x431460
mov edx, edi
mov edi, esi
mov eax, ebx
call fcn.0045df70
mov eax, dword [esp + 0x40]
mov edi, edx
jmp 0x431454
mov eax, 1
jmp 0x431730
lea eax, [0x5beac0]
mov dword [esp], eax
lea eax, [0x637f70]
mov dword [esp + 4], eax
call fcn.00431a00
call fcn.00430360
call fcn.00430360
lea eax, [0x5beac0]
mov dword [esp], eax
lea eax, [0x637f70]
mov dword [esp + 4], eax
call fcn.00431a00
call fcn.00430360
call fcn.00430360
lea eax, [0x5beac0]
mov dword [esp], eax
lea eax, [0x637f70]
mov dword [esp + 4], eax
call fcn.00431a00
call fcn.00430360
call fcn.00430360
lea eax, [0x5beac0]
mov dword [esp], eax
lea eax, [0x637f70]
mov dword [esp + 4], eax
call fcn.00431a00
call fcn.00430360
call fcn.00430360
lea eax, [0x5beac0]
mov dword [esp], eax
lea eax, [0x637f70]
mov dword [esp + 4], eax
call fcn.00431a00
call fcn.00430360
call fcn.00430360
lea eax, [0x5beac0]
mov dword [esp], eax
lea eax, [0x637f70]
mov dword [esp + 4], eax
call fcn.00431a00
call fcn.00430360
call fcn.00430360
lea eax, [0x5beac0]
mov dword [esp], eax
lea eax, [0x637f70]
mov dword [esp + 4], eax
call fcn.00431a00
call fcn.00430360
call fcn.00430360
lea eax, [0x5beac0]
mov dword [esp], eax
lea eax, [0x637f70]
mov dword [esp + 4], eax
call fcn.00431a00
call fcn.00430360
call fcn.00430360
lea eax, [0x5beac0]
mov dword [esp], eax
lea eax, [0x637f70]
mov dword [esp + 4], eax
call fcn.00431a00
call fcn.00430360
call fcn.00430360
lea eax, [0x5beac0]
mov dword [esp], eax
lea eax, [0x637f70]
mov dword [esp + 4], eax
call fcn.00431a00
call fcn.00430360
call fcn.00430360
lea eax, [0x5beac0]
mov dword [esp], eax
lea eax, [0x637f70]
mov dword [esp + 4], eax
call fcn.00431a00
call fcn.00430360
call fcn.00430360
lea eax, [0x5beac0]
mov dword [esp], eax
lea eax, [0x637f70]
mov dword [esp + 4], eax
call fcn.00431a00
call fcn.00430360
call fcn.00430360
nop
call fcn.0045ca10
jmp fcn.004310f0