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

Disassembly:
sub esp, 0x64
or ecx, 0xffffffff
push ebx
push ebp
push esi
mov esi, dword [esp + 0x74]
mov eax, ecx
push edi
mov edi, ecx
mov edx, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x10], eax
mov ebp, ecx
mov cl, byte [esi]
xor ebx, ebx
xorps xmm0, xmm0
movlpd qword [esp + 0x4c], xmm0
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x48], esi
mov dword [esp + 0x30], ebx
test cl, cl
je 0x1002f5fa
cmp dword [esp + 0x30], 6
jge 0x1002f5e7
mov dword [esp + 0x24], ebx
jmp 0x1002f259
movzx eax, cl
push eax
call fcn.1004437d
pop ecx
test eax, eax
jne 0x1002f25d
inc esi
mov cl, byte [esi]
test cl, cl
jne 0x1002f248
movzx eax, byte [esi]
push eax
call fcn.10044394
pop ecx
test eax, eax
je 0x1002f3c6
mov al, byte [0x1009ac40]
mov byte [esp + 0x54], al
push 7
pop ecx
xor eax, eax
lea edi, [esp + 0x55]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x54]
push eax
push str._31_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_
push esi
call fcn.1005bce1
add esp, 0xc
test eax, eax
je 0x1002f2af
lea edi, [esp + 0x54]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x1002f2a4
sub edi, ecx
jmp 0x1002f2b1
mov edi, ebx
cmp dword [esp + 0x3c], 0xffffffff
jne 0x1002f317
mov eax, 0x1007b934
mov ecx, 0x1007b8e8
cmp edi, 3
cmovbe eax, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x78], ebx
push dword [eax]
lea eax, [esp + 0x58]
push eax
call fcn.10020474
pop ecx
pop ecx
mov ecx, dword [esp + 0x78]
test eax, eax
jne 0x1002f2ff
mov eax, dword [esp + 0x24]
add eax, 4
inc ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x78], ecx
cmp ecx, 7
jl 0x1002f2d0
mov eax, ebx
jmp 0x1002f302
xor eax, eax
inc eax
or edx, 0xffffffff
test eax, eax
cmovne edx, ecx
mov dword [esp + 0x3c], edx
cmp edx, 0xffffffff
jne 0x1002f3bf
cmp dword [esp + 0x1c], 0xffffffff
jne 0x1002f377
mov ecx, 0x1007b904
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x78], ebx
push dword [ecx]
lea eax, [esp + 0x58]
push eax
call fcn.10020474
pop ecx
test eax, eax
mov eax, dword [esp + 0x7c]
pop ecx
jne 0x1002f35c
mov ecx, dword [esp + 0x24]
add ecx, 4
inc eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x78], eax
cmp eax, 0xc
jl 0x1002f32f
jmp 0x1002f364
mov dword [esp + 0x1c], 1
or ecx, 0xffffffff
cmp dword [esp + 0x1c], ebx
cmovne ecx, eax
mov dword [esp + 0x1c], ecx
cmp ecx, 0xffffffff
jne 0x1002f3bf
cmp ebp, 0xffffffff
jne 0x1002f6cd
mov ebp, 0x1007b950
mov dword [esp + 0x78], ebx
lea eax, [esp + 0x54]
push ebp
push eax
call fcn.10020474
pop ecx
pop ecx
test eax, eax
jne 0x1002f3b0
mov eax, dword [esp + 0x78]
add ebp, 0xc
inc eax
mov dword [esp + 0x78], eax
cmp eax, 0x45
jb 0x1002f389
or ebp, 0xffffffff
jmp 0x1002f3b6
mov ebp, dword [ebp + 8]
imul ebp, ebp, 0x3c
cmp ebp, 0xffffffff
je 0x1002f6cd
add esi, edi
jmp 0x1002f5d1
movzx eax, byte [esi]
push eax
call fcn.100443c2
pop ecx
test eax, eax
je 0x1002f5d1
cmp dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x20], ebx
jne 0x1002f44b
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
push str._02d:_02d:_02d_n
push esi
call fcn.1005bce1
add esp, 0x18
cmp eax, 3
jne 0x1002f413
add esi, dword [esp + 0x20]
jmp 0x1002f5d1
cmp dword [esp + 0x10], 0xffffffff
jne 0x1002f44b
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
push str._02d:_02d_n
push esi
call fcn.1005bce1
add esp, 0x14
cmp eax, 2
jne 0x1002f44b
add esi, dword [esp + 0x20]
mov eax, ebx
mov dword [esp + 0x10], eax
jmp 0x1002f5d5
call fcn.1005c3ef
mov eax, dword [eax]
mov dword [esp + 0x78], eax
call fcn.1005c3ef
mov dword [eax], ebx
push 0xa
lea eax, [esp + 0x30]
push eax
push esi
call fcn.1005c998
add esp, 0xc
mov dword [esp + 0x44], eax
call fcn.1005c3ef
mov eax, dword [eax]
mov dword [esp + 0x40], eax
call fcn.1005c3ef
mov ecx, dword [esp + 0x78]
cmp dword [eax], ecx
je 0x1002f494
call fcn.1005c3ef
mov ecx, dword [esp + 0x78]
mov dword [eax], ecx
cmp dword [esp + 0x40], ebx
jne 0x1002f6cd
push dword [esp + 0x44]
call fcn.10029326
pop ecx
mov ecx, eax
cmp ebp, 0xffffffff
jne 0x1002f4fd
mov eax, dword [esp + 0x2c]
sub eax, esi
cmp eax, 4
jne 0x1002f4fd
cmp ecx, 0x578
jg 0x1002f4fd
cmp dword [esp + 0x48], esi
jae 0x1002f4fd
mov al, byte [esi - 1]
mov byte [esp + 0x78], al
cmp al, 0x2b
je 0x1002f4d7
cmp al, 0x2d
jne 0x1002f4fd
mov eax, ecx
cdq
push 0x64
pop ebp
idiv ebp
mov dword [esp + 0x24], 1
mov ebp, eax
imul ebp, ebp, 0x3c
add ebp, edx
imul ebp, ebp, 0x3c
mov eax, ebp
neg eax
cmp byte [esp + 0x78], 0x2b
cmove ebp, eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
sub eax, esi
mov esi, dword [esp + 0x14]
cmp eax, 8
jne 0x1002f550
cmp esi, 0xffffffff
jne 0x1002f550
cmp edi, esi
jne 0x1002f550
cmp edx, esi
jne 0x1002f550
mov eax, ecx
cdq
mov esi, 0x2710
idiv esi
push 0x64
pop edi
push 0x64
mov dword [esp + 0x28], 1
mov esi, eax
mov eax, edx
cdq
idiv edi
mov dword [esp + 0x18], esi
lea edi, [eax - 1]
mov eax, ecx
mov dword [esp + 0x20], edi
cdq
pop edi
idiv edi
mov dword [esp + 0x18], edx
cmp dword [esp + 0x24], ebx
jne 0x1002f5cd
mov edi, dword [esp + 0x28]
test edi, edi
jne 0x1002f589
cmp edx, 0xffffffff
jne 0x1002f6cd
lea eax, [ecx - 1]
cmp eax, 0x1e
ja 0x1002f57a
mov edx, ecx
xor eax, eax
mov dword [esp + 0x18], edx
inc eax
jmp 0x1002f57e
mov eax, dword [esp + 0x24]
xor edi, edi
inc edi
mov dword [esp + 0x28], edi
test eax, eax
jne 0x1002f5cd
cmp edi, 1
jne 0x1002f6cd
cmp esi, 0xffffffff
jne 0x1002f6cd
push 0x64
pop eax
mov dword [esp + 0x14], ecx
cmp ecx, eax
jge 0x1002f5c1
cmp ecx, 0x46
jle 0x1002f5b7
lea eax, [ecx + 0x76c]
mov dword [esp + 0x14], eax
jmp 0x1002f5c1
add ecx, 0x7d0
mov dword [esp + 0x14], ecx
xor eax, eax
cmp edx, 0xffffffff
cmove edi, eax
mov dword [esp + 0x28], edi
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov cl, byte [esi]
inc dword [esp + 0x30]
mov edi, dword [esp + 0x1c]
test cl, cl
jne 0x1002f237
mov edx, dword [esp + 0x14]
cmp eax, 0xffffffff
je 0x1002f5fa
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
jmp 0x1002f5fe
mov ecx, ebx
mov eax, ebx
mov esi, dword [esp + 0x18]
cmp esi, 0xffffffff
je 0x1002f6cd
cmp edi, 0xffffffff
je 0x1002f6cd
cmp edx, 0xffffffff
je 0x1002f6cd
cmp edx, 0x62f
jl 0x1002f6cd
cmp esi, 0x1f
jg 0x1002f6cd
cmp edi, 0xb
jg 0x1002f6cd
cmp ebx, 0x17
jg 0x1002f6cd
cmp ecx, 0x3b
jg 0x1002f6cd
cmp eax, 0x3c
jg 0x1002f6cd
mov dword [esp + 0x54], eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x58]
push eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edx
call fcn.1002f0ec
xor eax, eax
cmp ebp, 0xffffffff
cmove ebp, eax
pop ecx
pop ecx
test ebp, ebp
jle 0x1002f6b5
mov eax, ebp
cdq
or ecx, 0xffffffff
sub ecx, eax
mov esi, bind
mov eax, esi
sbb eax, edx
cmp dword [esp + 0x50], eax
jl 0x1002f6b5
jg 0x1002f6a6
cmp dword [esp + 0x4c], ecx
jbe 0x1002f6b5
mov ecx, dword [esp + 0x7c]
xor eax, eax
or dword [ecx], 0xffffffff
mov dword [ecx + 4], esi
inc eax
jmp 0x1002f6d0
mov ecx, dword [esp + 0x7c]
mov eax, ebp
cdq
add eax, dword [esp + 0x4c]
adc edx, dword [esp + 0x50]
mov dword [ecx], eax
mov dword [ecx + 4], edx
xor eax, eax
jmp 0x1002f6d0
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret