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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x18]
cmp eax, dword [ecx + 8]
jbe 0x2b6aebf
sub esp, 0x98
mov edx, dword [esp + 0xa0]
test edx, edx
jle 0x2b6a78b
mov ebx, dword [esp + 0x9c]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x2b
xchg ebp, eax
jne 0x2b6a6a9
mov eax, 1
xor ecx, ecx
jmp 0x2b6a6c0
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
jne 0x2b6a6bc
mov eax, 1
mov ecx, 1
jmp 0x2b6a6c0
xor eax, eax
xor ecx, ecx
lea ebp, [eax + 2]
cmp edx, ebp
jle 0x2b6a714
cmp edx, eax
jbe 0x2b6aeb7
lea esi, [ebx + eax]
cmp byte [esi], 0x30
jne 0x2b6a714
lea esi, [eax + 1]
cmp edx, esi
jbe 0x2b6aeae
movzx esi, byte [ebx + eax + 1]
or esi, 0x20
xchg esi, eax
cmp al, 0x78
xchg esi, eax
jne 0x2b6a714
mov eax, ebp
mov ebp, 0x10
mov esi, 0x10
mov edi, 0x70
mov ebp, 1
xchg ebp, eax
mov byte [esp + 0x13], al
xchg ebp, eax
mov ebp, 0x10
jmp 0x2b6a730
mov ebp, 0x13
mov esi, 0xa
mov edi, 0x65
xor ebp, ebp
xchg ebp, eax
mov byte [esp + 0x13], al
xchg ebp, eax
mov ebp, 0x13
mov dword [esp + 0x24], esi
mov byte [esp + 0x12], cl
xchg edi, eax
mov byte [esp + 0xf], al
xchg edi, eax
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x90], eax
xor eax, eax
mov byte [esp + 0xe], al
xor eax, eax
mov byte [esp + 0xd], al
xor eax, eax
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x20], eax
xor eax, eax
mov byte [esp + 0xc], al
xor eax, eax
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x90]
jmp 0x2b6a817
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xac], 0
mov byte [esp + 0xb0], 0
mov byte [esp + 0xb1], 0
mov byte [esp + 0xb2], 0
mov dword [esp + 0xb4], 0
mov byte [esp + 0xb8], 0
add esp, 0x98
ret
inc eax
xchg edi, eax
mov byte [esp + 0xe], al
xchg edi, eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov byte [esp + 0x80], cl
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x44], ecx
movzx edi, byte [esp + 0xf]
mov eax, dword [esp + 0x88]
movzx ecx, byte [esp + 0x80]
cmp edx, eax
jle 0x2b6aa9f
jbe 0x2b6aea7
movzx edi, byte [ebx + eax]
xchg edi, eax
cmp al, 0x5f
xchg edi, eax
jne 0x2b6a857
movzx edi, byte [esp + 0xe]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x38], edi
mov edi, 1
xchg edi, eax
mov byte [esp + 0xc], al
xchg edi, eax
movzx edi, byte [esp + 0xe]
jmp 0x2b6a7de
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x2b6a8a3
movzx edi, byte [esp + 0xd]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x2b6aaa4
movzx edi, byte [esp + 0xe]
mov edi, 1
xchg edi, eax
mov byte [esp + 0xd], al
xchg edi, eax
mov edi, dword [esp + 0x18]
mov dword [esp + 0x30], edi
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], edi
movzx edi, byte [esp + 0xe]
mov eax, dword [esp + 0x60]
jmp 0x2b6a7de
lea ebx, [edi - 0x30]
cmp bl, 9
ja 0x2b6a9bd
mov byte [esp + 0x10], bl
xchg edi, eax
cmp al, 0x30
xchg edi, eax
jne 0x2b6a8fd
mov ebx, dword [esp + 0x18]
test ebx, ebx
jne 0x2b6a901
mov edi, dword [esp + 0x20]
dec edi
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov byte [esp + 0x50], cl
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x20], edi
mov edi, 1
mov eax, dword [esp + 0x58]
movzx ecx, byte [esp + 0x50]
jmp 0x2b6a7de
mov ebx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
cmp ebx, ebp
jge 0x2b6a952
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x44]
mul esi
mov dword [esp + 0x44], eax
movzx ebp, byte [esp + 0x10]
xchg ebp, eax
movzx eax, al
xchg ebp, eax
add eax, ebp
mov edi, dword [esp + 0x40]
imul edi, esi
add edi, edx
mov esi, dword [esp + 0x44]
add esi, ebp
adc edi, 0
inc ebx
mov edx, dword [esp + 0xa0]
mov esi, eax
mov dword [esp + 0x44], edi
movzx ebp, byte [esp + 0x11]
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x1c]
jmp 0x2b6a97b
xchg edi, eax
cmp al, 0x30
xchg edi, eax
mov edi, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
movzx esi, byte [esp + 0x11]
or ebp, esi
mov esi, dword [esp + 0x44]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x18]
inc ecx
mov edi, 1
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], esi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x40], edi
mov dword [esp + 0x14], ebx
xchg ebp, eax
mov byte [esp + 0x11], al
xchg ebp, eax
movzx ecx, byte [esp + 0x12]
mov ebx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
mov edi, 1
jmp 0x2b6a7de
cmp esi, 0x10
sete bl
and ebx, 1
test bl, bl
je 0x2b6aa91
or edi, 0x20
xchg edi, eax
cmp al, 0x61
xchg edi, eax
jb 0x2b6aa91
xchg edi, eax
cmp al, 0x66
xchg edi, eax
ja 0x2b6aa91
mov ebx, dword [esp + 0x14]
cmp ebx, ebp
jge 0x2b6aa34
mov ebp, dword [esp + 0x44]
shl ebp, 4
mov dword [esp + 0x38], ebp
add edi, 0xffffffa9
xchg edi, eax
movzx eax, al
xchg edi, eax
add ebp, edi
mov dword [esp + 0x34], ebp
mov esi, dword [esp + 0x40]
shl esi, 4
mov ebp, dword [esp + 0x44]
shr ebp, 0x1c
or esi, ebp
mov ebp, dword [esp + 0x38]
add ebp, edi
adc esi, 0
inc ebx
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x24]
jmp 0x2b6aa5a
mov edi, dword [esp + 0x44]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x44], eax
mov byte [esp + 0x68], cl
mov ecx, 1
mov byte [esp + 0x11], cl
mov eax, dword [esp + 0x70]
movzx ecx, byte [esp + 0x68]
mov ecx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x40], eax
mov dword [esp + 0x14], ebx
movzx ecx, byte [esp + 0x12]
mov ebx, dword [esp + 0x9c]
mov edi, 1
mov eax, dword [esp + 0x48]
jmp 0x2b6a7de
mov ebx, dword [esp + 0x9c]
movzx edi, byte [esp + 0xd]
jmp 0x2b6aaa4
movzx edi, byte [esp + 0xd]
movzx ebp, byte [esp + 0xe]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x2b6ac9f
xchg edi, eax
test al, al
xchg edi, eax
je 0x2b6aabf
mov ebp, dword [esp + 0x20]
jmp 0x2b6aac3
mov ebp, dword [esp + 0x18]
cmp esi, 0x10
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, 1
xchg esi, eax
test al, al
xchg esi, eax
je 0x2b6aae4
shl ebp, 2
mov edi, dword [esp + 0x14]
shl edi, 2
cmp edx, eax
jmp 0x2b6aaea
cmp edx, eax
mov edi, dword [esp + 0x14]
jle 0x2b6ac39
cmp edx, eax
jbe 0x2b6aea0
mov dword [esp + 0x14], edi
mov dword [esp + 0x2c], ebp
movzx edi, byte [ebx + eax]
or edi, 0x20
movzx ebp, byte [esp + 0xf]
xchg ebp, eax
xchg edi, ebx
cmp al, bl
xchg edi, ebx
xchg ebp, eax
jne 0x2b6ac2b
lea ebp, [eax + 1]
cmp edx, ebp
jle 0x2b6abd5
jbe 0x2b6ae97
movzx esi, byte [ebx + eax + 1]
xchg esi, eax
cmp al, 0x2b
xchg esi, eax
jne 0x2b6ab41
lea ebp, [eax + 2]
mov eax, 1
jmp 0x2b6ab57
xchg esi, eax
cmp al, 0x2d
xchg esi, eax
jne 0x2b6ab52
lea ebp, [eax + 2]
mov eax, 0xffffffff
jmp 0x2b6ab57
mov eax, 1
cmp edx, ebp
jle 0x2b6ab7f
jbe 0x2b6ae8e
movzx esi, byte [ebx + ebp]
xchg esi, eax
cmp al, 0x30
xchg esi, eax
jb 0x2b6ab7f
xchg esi, eax
cmp al, 0x39
xchg esi, eax
ja 0x2b6ab7f
movzx esi, byte [esp + 0xc]
xor edi, edi
jmp 0x2b6ae1c
mov eax, dword [esp + 0x40]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xac], 0
mov byte [esp + 0xb0], cl
movzx eax, byte [esp + 0x11]
mov byte [esp + 0xb1], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0xb2], al
mov dword [esp + 0xb4], ebp
mov byte [esp + 0xb8], 0
add esp, 0x98
ret
mov eax, dword [esp + 0x40]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xac], 0
mov byte [esp + 0xb0], cl
movzx eax, byte [esp + 0x11]
mov byte [esp + 0xb1], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0xb2], al
mov dword [esp + 0xb4], ebp
mov byte [esp + 0xb8], 0
add esp, 0x98
ret
xchg esi, eax
test al, al
xchg esi, eax
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x14]
jmp 0x2b6ac3d
xchg esi, eax
test al, al
xchg esi, eax
jne 0x2b6ac49
movzx esi, byte [esp + 0xc]
jmp 0x2b6acf5
mov edx, dword [esp + 0x40]
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0xa4], edx
mov dword [esp + 0xac], 0
mov byte [esp + 0xb0], cl
movzx ecx, byte [esp + 0x11]
mov byte [esp + 0xb1], cl
movzx ecx, byte [esp + 0x13]
mov byte [esp + 0xb2], cl
mov dword [esp + 0xb4], eax
mov byte [esp + 0xb8], 0
add esp, 0x98
ret
mov edx, dword [esp + 0x40]
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0xa4], edx
mov dword [esp + 0xac], 0
mov byte [esp + 0xb0], cl
movzx ecx, byte [esp + 0x11]
mov byte [esp + 0xb1], cl
movzx ecx, byte [esp + 0x13]
mov byte [esp + 0xb2], cl
mov dword [esp + 0xb4], eax
mov byte [esp + 0xb8], 0
add esp, 0x98
ret
mov dword [esp + 0x3c], eax
mov ebx, dword [esp + 0x44]
test ebx, ebx
setne bl
mov eax, dword [esp + 0x40]
test eax, eax
setne al
or eax, ebx
test al, al
je 0x2b6ad15
sub ebp, edi
jmp 0x2b6ad17
xor ebp, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x2b6adb7
mov eax, dword [esp + 0x3c]
cmp edx, eax
jb 0x2b6ae0d
mov dword [esp + 0x30], ebp
mov ecx, dword [esp + 0x9c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.02b6de10
movzx eax, byte [esp + 8]
test al, al
je 0x2b6ad58
movzx ecx, byte [esp + 0x12]
mov ebp, dword [esp + 0x30]
jmp 0x2b6adb7
mov eax, dword [esp + 0x40]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xac], eax
movzx eax, byte [esp + 0x12]
mov byte [esp + 0xb0], al
movzx eax, byte [esp + 0x11]
mov byte [esp + 0xb1], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0xb2], al
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xb4], eax
mov byte [esp + 0xb8], 0
add esp, 0x98
ret
mov eax, dword [esp + 0x40]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xac], ebp
mov byte [esp + 0xb0], cl
movzx eax, byte [esp + 0x11]
mov byte [esp + 0xb1], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0xb2], al
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xb4], eax
mov byte [esp + 0xb8], 1
add esp, 0x98
ret
mov ecx, eax
call fcn.02b3e920
inc ebp
mov ebx, dword [esp + 0x9c]
cmp edx, ebp
jle 0x2b6ae69
jbe 0x2b6ae85
movzx ebx, byte [ebp + ebx]
cmp bl, 0x30
jb 0x2b6ae62
cmp bl, 0x39
ja 0x2b6ae4d
cmp edi, 0x2710
jge 0x2b6ae14
mov dword [esp + 0x28], ebp
lea ebp, [edi + edi*4]
movzx ebx, bl
lea edi, [ebx + ebp*2 - 0x30]
mov ebp, dword [esp + 0x28]
jmp 0x2b6ae14
cmp bl, 0x5f
jne 0x2b6ae59
mov esi, 1
jmp 0x2b6ae14
mov ebx, dword [esp + 0x9c]
jmp 0x2b6ae69
mov ebx, dword [esp + 0x9c]
imul eax, edi
mov edi, dword [esp + 0x2c]
add eax, edi
mov edi, dword [esp + 0x14]
mov edi, ebp
mov ebp, eax
mov eax, edi
mov edi, dword [esp + 0x14]
jmp 0x2b6acf5
mov eax, ebp
mov ecx, edx
call fcn.02b3e900
mov eax, ebp
mov ecx, edx
call fcn.02b3e900
mov eax, ebp
mov ecx, edx
call fcn.02b3e900
mov ecx, edx
call fcn.02b3e900
mov ecx, edx
call fcn.02b3e900
mov eax, esi
mov ecx, edx
call fcn.02b3e900
mov ecx, edx
call fcn.02b3e900
nop
call fcn.02b3d440
jmp fcn.02b6a660