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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1005a95a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd8
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x44], edx
xor ebx, ebx
mov dword [esp + 0x18], edi
cmp dword [edi + 0x10], ebx
jne 0x1002167b
xor al, al
jmp 0x10021b91
mov dword [edx], ebx
mov dword [esp + 0x30], 1
mov dword [esp + 0x14], 0x1aae4b9
mov dword [esp + 0x20], 6
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x48], ebx
cmp dword [esp + 0x30], ebx
jne 0x100216b3
mov dword [esp + 0x14], 9
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
imul ecx, dword [esp + 0x30]
neg ecx
sbb ecx, ecx
or eax, 0xffffffff
neg ecx
sub eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ebx
jmp 0x100217aa
mov dword [esp + 0x2c], 0xbbb66efe
mov dword [esp + 0x3c], 0x5ec7e011
mov dword [esp + 0x50], 0xeeb4
mov dword [esp + 0x20], ebx
jmp 0x10021771
mov dword [esp + 0x28], 0xffffffff
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x1002171d
call fcn.10021471
cmp dword [esp + 0x2c], ebx
jne 0x1002173f
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
neg eax
sbb eax, eax
neg eax
cmp eax, dword [esp + 0x3c]
je 0x1002173f
mov esi, ebx
jmp 0x10021742
xor esi, esi
inc esi
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [esp + 0x14]
setne cl
xor edx, edx
cmp esi, ecx
setle dl
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [esp + 0x40], ecx
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xffffffee
jge 0x10021706
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x64]
push eax
lea edx, [esp + 0x60]
lea ecx, [esp + 0x58]
call fcn.10019b53
add esp, 0x18
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 5
je 0x100216e8
cmp dword [edi + 0x14], 0x10
jb 0x100217bf
mov ecx, dword [edi]
jmp 0x100217c1
mov ecx, edi
cmp dword [edi + 0x14], 0x10
mov dword [esp + 0x34], ecx
jb 0x100217cf
mov edx, dword [edi]
jmp 0x100217d1
mov edx, edi
mov eax, dword [edi + 0x10]
add eax, edx
cmp ecx, eax
je 0x10021af2
mov al, byte [ecx]
cmp al, 0x30
jl 0x10021a1b
cmp al, 0x39
jg 0x10021a1b
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x60], 0x5211521f
mov dword [esp + 0x1c], 0xa
cmp dword [esp + 0x1c], 4
jne 0x1002193d
push 1
lea ecx, [esp + 0x84]
call fcn.1001013f
mov dword [esp + 0xec], ebx
mov dword [esp + 0x70], 0xfffffff9
mov dword [esp + 0x28], 0x3095
cmp dword [esp + 0x28], 0x3424
jle 0x100218a3
mov dword [esp + 0x38], ebx
mov dword [esp + 0x24], 0x61f0
mov edi, ebx
mov esi, 0x1d9c
mov eax, edi
lea ecx, [esp + 0xb0]
cdq
push edx
push eax
call fcn.1000cbfe
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002186c
mov eax, dword [eax]
push eax
call fcn.100448f6
pop ecx
push 0
push 1
lea ecx, [esp + 0xb8]
call fcn.100107c9
inc edi
dec esi
jne 0x10021851
mov esi, dword [esp + 0x38]
add ebx, esi
dec dword [esp + 0x24]
jne 0x1002184a
inc esi
mov dword [esp + 0x38], esi
push 0
pop ebx
cmp esi, 0x59a
jl 0x10021842
push 2
lea ecx, [esp + 0x78]
call fcn.1001013f
cmp dword [esp + 0x28], 0x3069
jge 0x100218c3
push 0x10009158
call fcn.100448f6
pop ecx
mov dword [esp + 0x58], ebx
lea edx, [esp + 0x80]
mov dword [esp + 0x6c], 1
lea ecx, [esp + 0x68]
call fcn.1002147a
lea edx, [esp + 0x74]
call fcn.10021499
mov eax, edx
lea ecx, [esp + 0x6c]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x7c]
push eax
lea edx, [esp + 0x90]
call fcn.100214b5
add esp, 0x10
lea ecx, [esp + 0x74]
call fcn.100101c1
or dword [esp + 0xec], 0xffffffff
lea ecx, [esp + 0x80]
call fcn.100101c1
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 4
je 0x1002180f
mov edi, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
jmp 0x10021970
lea eax, [esp + 0x1c]
mov dword [esp + 0x64], 0xab3cf813
push eax
lea eax, [esp + 0x68]
mov dword [esp + 0x60], 0x128abf8b
push eax
lea edx, [esp + 0x64]
lea ecx, [esp + 0x68]
call fcn.10021502
dec dword [esp + 0x24]
pop ecx
pop ecx
cmp dword [esp + 0x1c], 0xfffffff3
jle 0x10021943
mov dword [esp + 0x28], 0xd25
cmp dword [esp + 0x28], 0xef9
jle 0x100219e7
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov eax, esi
sar eax, cl
lea ecx, [esp + 0xc8]
or eax, edi
cdq
push edx
push eax
call fcn.1000cbfe
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100219ae
mov eax, dword [eax]
push eax
call fcn.100448f6
pop ecx
push 0
push 1
lea ecx, [esp + 0xd0]
call fcn.100107c9
inc ebx
cmp ebx, 0x6249
jl 0x1002198d
inc esi
push 0
pop ebx
cmp esi, 0x1941
jl 0x1002198d
inc edi
cmp edi, 0x1741
jl 0x1002198b
mov edi, dword [esp + 0x18]
lea edx, [esp + 0x34]
lea ecx, [esp + 0x44]
call fcn.10021565
cmp dword [esp + 0x28], 0xba2
jge 0x10021a09
push 0x100091a8
call fcn.100448f6
pop ecx
or dword [esp + 0xec], 0xffffffff
mov ecx, dword [esp + 0x34]
inc ecx
jmp 0x100217c1
mov dword [esp + 0x18], 8
lea ecx, [esp + 0x98]
mov dword [esp + 0x18], 0xfffffff9
mov dword [esp + 0x18], 0xfffffffe
mov dword [esp + 0x18], 0xf390197f
mov dword [esp + 0x18], 0xfffffffa
mov dword [esp + 0x18], 0x1220985a
push 1
call fcn.1001013f
push 1
lea ecx, [esp + 0x90]
mov dword [esp + 0xf0], 5
call fcn.1001013f
lea edx, [esp + 0x98]
lea ecx, [esp + 0x4c]
call fcn.10021579
lea edx, [esp + 0x8c]
call fcn.10021598
mov eax, dword [esp + 0x8c]
inc dword [eax]
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10021aba
push 0x111d
push 0x42
push 0x16c6
push 0x596
push ebx
call dword [sym.imp.USER32.dll_PeekMessageA]
lea ecx, [esp + 0x8c]
call fcn.100101c1
or dword [esp + 0xec], 0xffffffff
lea ecx, [esp + 0x98]
call fcn.100101c1
push 0x637d
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.10021be4
add esp, 0xc
jmp 0x10021674
mov dword [esp + 0x54], ebx
lea ecx, [esp + 0xa4]
mov dword [esp + 0x18], 4
mov dword [esp + 0x18], 7
mov dword [esp + 0x18], 2
mov dword [esp + 0x18], 3
mov dword [esp + 0x18], 0xf186
mov dword [esp + 0x18], 0x6e2bfbd3
mov dword [esp + 0x18], 0xfffffff8
push 4
call fcn.1001013f
mov dword [esp + 0xec], 6
mov dword [esp + 0x24], ebx
jmp 0x10021b63
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xa4]
mov dword [eax + ecx*4], 0x2f38d927
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 4
jl 0x10021b4d
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10021b7a
call fcn.100215b7
lea ecx, [esp + 0x54]
call fcn.100215d2
lea ecx, [esp + 0xa4]
call fcn.100101c1
mov al, 1
mov ecx, dword [esp + 0xe4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret