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

Disassembly:
sub esp, 0x50
mov edx, dword [esp + 0x58]
push ebx
push ebp
mov ebp, ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x20], ebp
push esi
push edi
cmp edx, 2
jb 0x1002f3ba
cmp byte [ecx], 0x22
jne 0x1002f3ba
cmp byte [ecx + edx - 1], 0x22
jne 0x1002f3ba
mov al, 1
jmp 0x1002f3bc
xor al, al
test al, al
mov byte [esp + 0x1c], al
lea esi, [edx - 2]
lea edi, [ecx + 1]
cmove esi, edx
cmove edi, ecx
xor ebx, ebx
cmp esi, 0xc
jb case.0x1002f80f.3
cmp dword [edi], 0x2347534d
jne case.0x1002f80f.3
add esi, 0xfffffffc
lea edx, [esp + 0x64]
add edi, 4
push 0xa
push esi
mov ecx, edi
call fcn.1000af20
add esp, 8
test eax, eax
je case.0x1002f80f.3
mov cl, byte [eax + edi]
inc eax
cmp cl, 0x23
jne case.0x1002f80f.3
sub esi, eax
lea edx, [esp + 0x18]
add edi, eax
push 0xa
push esi
mov ecx, edi
call fcn.1000af20
add esp, 8
test eax, eax
je case.0x1002f80f.3
mov cl, byte [eax + edi]
inc eax
cmp cl, 0x23
jne case.0x1002f80f.3
sub esi, eax
lea edx, [esp + 0x14]
add edi, eax
push 0xa
push esi
mov ecx, edi
call fcn.1000af20
add esp, 8
test eax, eax
je case.0x1002f80f.3
mov cl, byte [eax + edi]
inc eax
cmp cl, 0x23
jne case.0x1002f80f.3
sub esi, eax
lea edx, [esp + 0x68]
add edi, eax
mov dword [esp + 0x20], esi
push 0xa
push esi
mov ecx, edi
mov dword [esp + 0x2c], edi
call fcn.1000af20
add esp, 8
test eax, eax
je case.0x1002f80f.3
sub esi, eax
add edi, eax
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x24]
mov dword [esp + 0x2c], esi
mov esi, edi
cmp edi, eax
jae 0x1002f4a2
cmp byte [esi], 0x2c
je 0x1002f49e
inc esi
cmp esi, eax
jb 0x1002f490
mov esi, edi
jmp 0x1002f4a8
test esi, esi
jne 0x1002f4c7
mov esi, edi
cmp edi, eax
jae case.0x1002f80f.3
cmp byte [esi], 0x3b
je 0x1002f4c3
inc esi
cmp esi, eax
jb 0x1002f4a8
mov ecx, ebp
call fcn.1002d770
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
test esi, esi
je case.0x1002f80f.3
cmp esi, edi
jbe 0x1002f4fd
cmp byte [edi], 0x3a
mov eax, edi
jne 0x1002f4f9
mov ebp, edi
inc ebp
push str.0123456789._
push ebp
call dword [sym.imp.msvcrt.dll_strspn]
add ebp, eax
add esp, 8
inc ebx
cmp byte [ebp], 0x3a
je 0x1002f4d4
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
cmp eax, esi
jne case.0x1002f80f.3
mov ecx, dword [esp + 0x2c]
inc edi
inc esi
mov eax, edi
sub eax, esi
dec ecx
add ecx, eax
cmp byte [ebp + 0x384], 0
mov eax, dword [esp + 0x18]
je 0x1002f7fa
dec eax
cmp eax, 0x98
ja case.0x1002f52e.2
movzx eax, byte [eax + 0x1002f900]
jmp dword [eax*4 + 0x1002f8bc]
cmp ebx, 1
jb case.0x1002f80f.3
push ecx
push esi
push edi
push dword [esp + 0x74]
push dword [esp + 0x24]
push ecx
mov ecx, ebp
call fcn.1002fe60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
cmp ebx, 1
jb case.0x1002f80f.3
sub esp, 8
mov ecx, ebp
push edi
push dword [esp + 0x74]
sub esp, 8
call fcn.10030680
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
cmp ebx, 7
jb case.0x1002f80f.3
push ecx
push esi
push edi
push dword [esp + 0x74]
mov ecx, ebp
push dword [esp + 0x24]
push dword [esp + 0x78]
call fcn.10030790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
cmp ebx, 5
jb case.0x1002f80f.3
sub esp, 8
mov ecx, ebp
push edi
push dword [esp + 0x74]
sub esp, 8
call fcn.10030d00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
cmp ebx, 1
jb case.0x1002f80f.3
sub esp, 8
mov ecx, ebp
push edi
push dword [esp + 0x74]
sub esp, 8
call fcn.10030e30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
cmp ebx, 6
jb case.0x1002f80f.3
sub esp, 8
mov ecx, ebp
push edi
push dword [esp + 0x74]
sub esp, 8
call fcn.10030f00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
cmp ebx, 6
jb case.0x1002f80f.3
sub esp, 8
mov ecx, ebp
push edi
push dword [esp + 0x74]
sub esp, 8
call fcn.10031120
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
cmp ebx, 6
jb case.0x1002f80f.3
push dword [esp + 0x6c]
push ecx
push esi
push edi
push dword [esp + 0x78]
mov ecx, ebp
push dword [esp + 0x28]
push dword [esp + 0x7c]
call fcn.100312a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
push ecx
push esi
push edi
push dword [esp + 0x74]
mov ecx, ebp
push dword [esp + 0x24]
push dword [esp + 0x78]
call fcn.10031650
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
cmp ebx, 1
jb case.0x1002f80f.3
push ecx
push esi
push edi
push dword [esp + 0x74]
push ecx
push dword [esp + 0x78]
mov ecx, ebp
call fcn.100327b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
cmp ebx, 2
jb case.0x1002f80f.3
push ecx
push esi
push edi
push dword [esp + 0x74]
mov ecx, ebp
sub esp, 8
call fcn.100329d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
cmp ebx, 3
jb case.0x1002f80f.3
push ecx
push esi
push edi
sub esp, 0xc
mov ecx, ebp
call fcn.10033200
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
cmp ebx, 5
jb case.0x1002f80f.3
push ecx
push esi
push edi
sub esp, 0xc
mov ecx, ebp
call fcn.100333c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
cmp ebx, 4
jb case.0x1002f80f.3
push ecx
push esi
push edi
push dword [esp + 0x74]
mov ecx, ebp
push dword [esp + 0x24]
push dword [esp + 0x78]
call fcn.10033550
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
cmp ebx, 2
jb case.0x1002f80f.3
push ecx
push esi
push edi
push dword [esp + 0x74]
push ecx
push dword [esp + 0x78]
mov ecx, ebp
call fcn.10034b90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
cmp ebx, 1
jb case.0x1002f80f.3
sub esp, 8
mov ecx, ebp
push edi
sub esp, 8
push dword [esp + 0x78]
call fcn.10034d20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
test byte [esp + 0x68], 1
je 0x1002f4b9
lea eax, [esp + 0x30]
mov byte [esp + 0x30], 0
push eax
lea eax, [esp + 0x44]
mov dword [esp + 0x3c], 0
push eax
lea eax, [esp + 0x58]
mov dword [esp + 0x44], 0
push eax
push 0
push 0
push dword [esp + 0x78]
mov ecx, ebp
mov byte [esp + 0x58], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov byte [esp + 0x68], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
call fcn.10034510
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
add eax, 0xfffffffe
cmp eax, 0x94
ja case.0x1002f80f.3
movzx eax, byte [eax + 0x1002f9b0]
jmp dword [eax*4 + 0x1002f99c]
cmp ebx, 2
jb case.0x1002f80f.3
sub esp, 8
mov ecx, ebp
push edi
sub esp, 0xc
call fcn.1002ff30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
cmp ebx, 4
jb case.0x1002f80f.3
push dword [esp + 0x1c]
mov byte [ebp + 0x384], 1
push ecx
push esi
push edi
push dword [esp + 0x78]
mov ecx, ebp
push dword [esp + 0x28]
push dword [esp + 0x7c]
call fcn.1002ff90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
cmp ebx, 3
jb case.0x1002f80f.3
sub esp, 8
mov byte [ebp + 0x384], 2
mov ecx, ebp
push edi
sub esp, 8
push dword [esp + 0x78]
call fcn.10034ae0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc
sub esp, 0xc
mov byte [ebp + 0x384], 3
push dword [esp + 0x74]
push ecx
push dword [esp + 0x78]
mov ecx, ebp
call fcn.1002fbc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0xc