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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6e189fe2
sub esp, 0x60
mov edx, dword [esp + 0x68]
test edx, edx
je 0x6e189abe
mov ebx, dword [esp + 0x6c]
lea ebp, [ebx - 2]
cmp ebp, 0x22
ja 0x6e189850
mov ebp, dword [esp + 0x64]
mov ecx, ebx
mov eax, edx
mov esi, ebp
jmp 0x6e1898df
test ebx, ebx
jne 0x6e189a6f
mov ebp, dword [esp + 0x64]
cmp byte [ebp], 0x30
jne 0x6e1898d6
cmp edx, 3
jl 0x6e1898ba
movzx esi, byte [ebp + 1]
or esi, 0x20
xchg esi, eax
cmp al, 0x62
xchg esi, eax
jne 0x6e189884
lea esi, [ebp + 2]
lea edi, [edx - 2]
mov ecx, 2
mov eax, edi
jmp 0x6e1898df
cmp edx, 3
jl 0x6e1898ba
xchg esi, eax
cmp al, 0x6f
xchg esi, eax
jne 0x6e18989f
lea esi, [ebp + 2]
lea edi, [edx - 2]
mov ecx, 8
mov eax, edi
jmp 0x6e1898df
cmp edx, 3
jl 0x6e1898ba
xchg esi, eax
cmp al, 0x78
xchg esi, eax
jne 0x6e1898ba
lea esi, [ebp + 2]
lea edi, [edx - 2]
mov ecx, 0x10
mov eax, edi
jmp 0x6e1898df
lea edi, [edx - 1]
mov eax, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 1
lea esi, [ebp + edi]
mov ecx, 8
jmp 0x6e1898df
mov ecx, 0xa
mov eax, edx
mov esi, ebp
mov edi, dword [esp + 0x70]
test edi, edi
jne 0x6e1898ee
mov edi, 0x20
jmp 0x6e1898f7
cmp edi, 0x40
ja 0x6e189a24
mov dword [esp + 0x5c], esi
mov dword [esp + 0x40], ecx
cmp ecx, 0xa
jne 0x6e189920
mov dword [esp + 0x54], eax
mov eax, 0x9999999a
mov dword [esp + 0x28], eax
mov eax, 0x19999999
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x54]
jmp 0x6e189999
cmp ecx, 0x10
jne 0x6e18993e
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, 0x10000000
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x4c]
jmp 0x6e189999
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edi
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0xffffffff
mov eax, ecx
sar ecx, 0x1f
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
call fcn.6e15f510
mov eax, dword [esp + 0x10]
add eax, 1
mov ecx, dword [esp + 0x14]
adc ecx, 0
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
cmp edi, 0x20
sbb edx, edx
mov ecx, edi
mov ebp, 1
shl ebp, cl
and ebp, edx
mov edx, ebp
add ebp, 0xffffffff
mov dword [esp + 0x24], ebp
add ecx, 0xffffffe0
mov edi, ecx
neg ecx
mov dword [esp + 0x34], ecx
cmp ecx, 0x20
sbb ebp, ebp
cmp edi, 0x20
sbb ebx, ebx
mov ecx, edi
mov esi, 1
shl esi, cl
and esi, ebx
mov ecx, dword [esp + 0x34]
mov ebx, 1
shr ebx, cl
and ebx, ebp
or ebx, esi
add edx, 0xffffffff
adc ebx, 0xffffffff
mov dword [esp + 0x30], ebx
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov byte [esp + 0x1a], al
xor eax, eax
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x44]
jmp 0x6e189b6d
lea eax, [0x6e51f516]
mov dword [esp], eax
mov dword [esp + 4], 9
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edi
call fcn.6e1896d0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
lea ecx, [0x6e5b34cc]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
lea eax, [0x6e51f516]
mov dword [esp], eax
mov dword [esp + 4], 9
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.6e189590
mov eax, dword [esp + 0x14]
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
lea ecx, [0x6e5b34cc]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
lea eax, [0x6e4e4a40]
mov dword [esp], eax
call fcn.6e10c930
mov eax, dword [esp + 4]
mov dword [eax + 4], 9
lea ecx, [0x6e51f516]
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov ecx, dword [0x6e7efbd0]
test ecx, ecx
jne 0x6e189af9
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
jmp 0x6e189b09
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.6e164e40
mov eax, ecx
mov ecx, dword [0x6e7c831c]
mov edx, dword [0x6e7c8318]
mov dword [eax + 0x10], edx
mov edx, dword [0x6e7efbd0]
test edx, edx
jne 0x6e189b27
mov dword [eax + 0x14], ecx
jmp 0x6e189b35
lea edi, [eax + 0x14]
mov edx, eax
mov eax, ecx
call fcn.6e164e40
mov eax, edx
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
lea ecx, [0x6e5b34cc]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
inc ebx
mov dword [esp + 0x3c], ebx
xchg esi, eax
mov byte [esp + 0x1a], al
xchg esi, eax
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x3c]
cmp eax, ebx
jle 0x6e189ef9
movzx esi, byte [ebp + ebx]
xchg esi, eax
cmp al, 0x5f
xchg esi, eax
jne 0x6e189b90
test ecx, ecx
jne 0x6e189b90
mov esi, 1
jmp 0x6e189b5a
lea ecx, [esi - 0x30]
cmp cl, 9
jbe 0x6e189bb4
or esi, 0x20
xchg esi, eax
cmp al, 0x61
xchg esi, eax
jb 0x6e189e5d
xchg esi, eax
cmp al, 0x7a
xchg esi, eax
ja 0x6e189e5d
lea ecx, [esi - 0x57]
mov esi, dword [esp + 0x40]
xchg esi, eax
cmp cl, al
xchg esi, eax
jae 0x6e189dc1
mov byte [esp + 0x1b], cl
mov ebp, dword [esp + 0x20]
cmp ebp, edi
seta bl
mov ecx, dword [esp + 0x1c]
cmp ecx, edx
setae dl
cmp ebp, edi
xchg edi, ebx
sete bl
xchg edi, ebx
and edx, edi
or edx, ebx
test dl, dl
jne 0x6e189d25
mov edx, eax
mov eax, ecx
mov ebx, edx
mul esi
movzx edi, byte [esp + 0x1b]
xchg edi, eax
movzx eax, al
xchg edi, eax
mov dword [esp + 0x34], edi
add edi, eax
imul ebp, esi
sar esi, 0x1f
imul ecx, esi
add edx, ebp
add ecx, edx
mov edx, dword [esp + 0x34]
add edx, eax
mov edx, ecx
adc ecx, 0
cmp eax, edi
xchg ebp, ebx
seta bl
xchg ebp, ebx
cmp ecx, edx
sete dl
xchg esi, ebx
setb bl
xchg esi, ebx
and edx, ebp
or esi, edx
xchg esi, eax
test al, al
xchg esi, eax
jne 0x6e189c89
mov edx, dword [esp + 0x24]
cmp edi, edx
xchg ebp, ebx
seta bl
xchg ebp, ebx
mov esi, dword [esp + 0x30]
cmp ecx, esi
xchg esi, ebx
sete bl
xchg esi, ebx
seta dl
and esi, ebp
or edx, esi
test dl, dl
jne 0x6e189c89
mov eax, ebx
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x5c]
movzx esi, byte [esp + 0x1a]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x2c]
jmp 0x6e189b5a
lea eax, [0x6e4e4a40]
mov dword [esp], eax
call fcn.6e10c930
mov eax, dword [esp + 4]
mov dword [eax + 4], 9
lea ecx, [0x6e51f516]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x6e7efbd0]
test ecx, ecx
jne 0x6e189cc4
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
jmp 0x6e189cd4
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.6e164e40
mov eax, ecx
mov ecx, dword [0x6e7c8314]
mov edx, dword [0x6e7c8310]
mov dword [eax + 0x10], edx
mov edx, dword [0x6e7efbd0]
test edx, edx
jne 0x6e189cf2
mov dword [eax + 0x14], ecx
jmp 0x6e189d00
lea edi, [eax + 0x14]
mov edx, eax
mov eax, ecx
call fcn.6e164e40
mov eax, edx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x74], ecx
lea ecx, [0x6e5b34cc]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
lea eax, [0x6e4e4a40]
mov dword [esp], eax
call fcn.6e10c930
mov eax, dword [esp + 4]
mov dword [eax + 4], 9
lea ecx, [0x6e51f516]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x6e7efbd0]
test ecx, ecx
jne 0x6e189d60
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
jmp 0x6e189d70
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.6e164e40
mov eax, ecx
mov ecx, dword [0x6e7c8314]
mov edx, dword [0x6e7c8310]
mov dword [eax + 0x10], edx
mov edx, dword [0x6e7efbd0]
test edx, edx
jne 0x6e189d8e
mov dword [eax + 0x14], ecx
jmp 0x6e189d9c
lea edi, [eax + 0x14]
mov edx, eax
mov eax, ecx
call fcn.6e164e40
mov eax, edx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x74], ecx
lea ecx, [0x6e5b34cc]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
lea eax, [0x6e4e4a40]
mov dword [esp], eax
call fcn.6e10c930
mov eax, dword [esp + 4]
mov dword [eax + 4], 9
lea ecx, [0x6e51f516]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x6e7efbd0]
test ecx, ecx
jne 0x6e189dfc
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
jmp 0x6e189e0c
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.6e164e40
mov eax, ecx
mov ecx, dword [0x6e7c831c]
mov edx, dword [0x6e7c8318]
mov dword [eax + 0x10], edx
mov edx, dword [0x6e7efbd0]
test edx, edx
jne 0x6e189e2a
mov dword [eax + 0x14], ecx
jmp 0x6e189e38
lea edi, [eax + 0x14]
mov edx, eax
mov eax, ecx
call fcn.6e164e40
mov eax, edx
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
lea ecx, [0x6e5b34cc]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
lea eax, [0x6e4e4a40]
mov dword [esp], eax
call fcn.6e10c930
mov eax, dword [esp + 4]
mov dword [eax + 4], 9
lea ecx, [0x6e51f516]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x6e7efbd0]
test ecx, ecx
jne 0x6e189e98
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
jmp 0x6e189ea8
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.6e164e40
mov eax, ecx
mov ecx, dword [0x6e7c831c]
mov edx, dword [0x6e7c8318]
mov dword [eax + 0x10], edx
mov edx, dword [0x6e7efbd0]
test edx, edx
jne 0x6e189ec6
mov dword [eax + 0x14], ecx
jmp 0x6e189ed4
lea edi, [eax + 0x14]
mov edx, eax
mov eax, ecx
call fcn.6e164e40
mov eax, edx
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
lea ecx, [0x6e5b34cc]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
movzx eax, byte [esp + 0x1a]
test al, al
je 0x6e189f1f
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov ecx, dword [esp + 0x68]
mov dword [esp + 4], ecx
call fcn.6e18a720
movzx eax, byte [esp + 8]
test al, al
je 0x6e189f46
mov eax, dword [esp + 0x20]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
add esp, 0x60
ret
lea eax, [0x6e4e4a40]
mov dword [esp], eax
call fcn.6e10c930
mov eax, dword [esp + 4]
mov dword [eax + 4], 9
lea ecx, [0x6e51f516]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x6e7efbd0]
test ecx, ecx
jne 0x6e189f81
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
jmp 0x6e189f91
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.6e164e40
mov eax, ecx
mov ecx, dword [0x6e7c831c]
mov edx, dword [0x6e7c8318]
mov dword [eax + 0x10], edx
mov edx, dword [0x6e7efbd0]
test edx, edx
jne 0x6e189faf
mov dword [eax + 0x14], ecx
jmp 0x6e189fbd
lea edi, [eax + 0x14]
mov edx, eax
mov eax, ecx
call fcn.6e164e40
mov eax, edx
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
lea ecx, [0x6e5b34cc]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
call fcn.6e163a10
jmp fcn.6e189810