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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x70]
cmp eax, dword [ecx + 8]
jbe 0x2c678e9
sub esp, 0xf0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
mov byte [esp + 8], 0x2f
call fcn.02ae2870
mov ecx, dword [esp + 0xc]
cmp ecx, 0xffffffff
jne 0x2c663e8
mov eax, dword [esp + 0xf8]
test eax, eax
je 0x2c663cb
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x2d59fdc]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.02ba7a80
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x2c663cb
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
call fcn.02ba76d0
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x2c66313
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x2c66321
jmp 0x2c678d0
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0xb8]
lea ebx, [edx + eax]
mov dword [esp + 0x6c], ebx
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0xb4]
cmp ebp, ebx
jae 0x2c66385
mov dword [esp + 0x30], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x68], edx
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x68], ebp
mov dword [esp + 0xac], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.02b3f220
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
jmp 0x2c66725
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov edx, dword [esp + 0xf8]
cmp edx, ecx
jb 0x2c678cb
lea eax, [ecx + 1]
cmp edx, eax
jb 0x2c678c4
mov dword [esp + 0x24], ecx
sub edx, ecx
lea ebx, [edx - 1]
mov dword [esp + 0x2c], ebx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0xf4]
add eax, ebx
mov dword [esp + 0x74], eax
test ecx, ecx
jne 0x2c6642d
xor esi, esi
jmp 0x2c6646e
mov dword [esp + 0x6c], edx
mov dword [esp], ebx
mov dword [esp + 4], ecx
lea eax, [0x2d59fdc]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.02ba7a80
mov eax, dword [esp + 0x10]
test eax, eax
setl al
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0x2c]
mov esi, eax
mov eax, dword [esp + 0x74]
xchg esi, eax
test al, al
xchg esi, eax
je 0x2c667a0
cmp edx, 1
jne 0x2c66481
xor edx, edx
jmp 0x2c664ba
mov dword [esp], eax
mov dword [esp + 4], ebp
lea ecx, [0x2d59fdc]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
call fcn.02ba7a80
mov eax, dword [esp + 0x10]
test eax, eax
setl al
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0x2c]
mov edx, eax
mov eax, dword [esp + 0x74]
test dl, dl
je 0x2c667a0
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.02ba76d0
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x2c664f2
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x2c66507
jmp 0x2c678ac
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], edx
lea ebx, [esp + 0xb0]
mov edx, dword [esp + 0xb8]
lea ebp, [edx + eax]
mov dword [esp + 0x6c], ebp
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xb4]
cmp esi, ebp
jae 0x2c6656b
mov dword [esp + 0x34], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x68], edx
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x68], esi
mov dword [esp + 0xac], edi
add edx, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.02b3f220
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
nop
nop
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x2c665c9
lea ecx, [esp + 0xb0]
cmp eax, ecx
je 0x2c665de
jmp 0x2c67894
lea eax, [esp + 0xb0]
mov dword [esp + 0xb0], eax
lea ecx, [esp + 0xb0]
mov eax, dword [esp + 0xb8]
lea edx, [eax + 1]
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xbc]
cmp ebp, edx
jae 0x2c66632
lea ecx, [0x2d0e7c0]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.02b27650
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb4], ebx
lea ecx, [eax + 1]
mov dword [esp + 0xb8], ecx
mov byte [ebx + eax], 0x2f
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.02ba76d0
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x2c66678
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x2c66686
jmp 0x2c6787c
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0xb8]
lea ebx, [edx + eax]
mov dword [esp + 0x6c], ebx
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0xb4]
cmp ebp, ebx
jae 0x2c666e4
mov dword [esp + 0x40], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x68], edx
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x68], ebp
mov dword [esp + 0xac], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.02b3f220
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x2c66734
mov ecx, dword [eax]
jmp 0x2c66736
xor ecx, ecx
mov dword [esp + 0x50], ecx
lea eax, [0x2d0e5c0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.02b274d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa8], eax
lea edi, [esp + 0xc0]
xor eax, eax
call fcn.02b3eb14
lea eax, [0x2d10220]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
lea edx, [esp + 0xc0]
mov dword [esp + 8], edx
call fcn.02aed2a0
xor eax, eax
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xa8]
jmp 0x2c667db
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
lea eax, [esp + 0xc0]
mov dword [esp], eax
call fcn.02aed4f0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x98]
mov dword [esp + 0x4c], eax
mov ebx, dword [esp + 0xc0]
test ebx, ebx
je 0x2c66878
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [eax + 1]
cmp ecx, esi
jae 0x2c66841
mov dword [esp + 0x58], ebx
mov dword [esp + 0xa0], ebp
lea ebx, [0x2d0e5c0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.02b27650
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0x98], edx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], ecx
lea ecx, [edx + eax*8 + 4]
mov dword [ecx], ebx
mov ecx, dword [0x311e9a0]
lea ebx, [edx + eax*8]
test ecx, ecx
jne 0x2c6686a
mov dword [ebx], ebp
jmp 0x2c667bd
mov eax, ebp
mov edi, ebx
call fcn.02b3e880
jmp 0x2c667bd
mov dword [esp + 0xa4], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.02ae8f60
mov eax, dword [esp + 0xc]
lea ecx, [0x2da7f04]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.02b8e530
xor eax, eax
jmp 0x2c668b0
mov ecx, dword [esp + 0x6c]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jge 0x2c66f28
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xa4]
lea edx, [ecx + eax*8]
mov ebx, dword [edx + 4]
mov dword [esp + 0x54], ebx
mov edx, dword [edx]
mov dword [esp + 0x9c], edx
lea ebp, [0x2d10220]
mov dword [esp], ebp
mov esi, dword [esp + 0xfc]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.02aefb10
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x2c66920
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x2c66935
jmp 0x2c67864
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], edx
lea ebx, [esp + 0xb0]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0xb8]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xbc]
cmp edi, ebp
jae 0x2c669a0
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], esi
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0xb0]
lea ebp, [edx + 1]
mov dword [esp + 0xb8], ebp
mov byte [esi + edx], 0x3b
nop
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x2c669c4
cmp edx, ebx
je 0x2c669cb
jmp 0x2c6784c
mov dword [esp + 0xb0], ebx
mov edx, dword [esp + 0xb8]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xbc]
cmp edi, ebp
jae 0x2c66a2e
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], esi
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0xb0]
lea ebp, [edx + 1]
mov dword [esp + 0xb8], ebp
mov byte [esi + edx], 0x20
mov edx, dword [esp + 0x54]
test edx, edx
je 0x2c66f0b
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [0x2d59fdc]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
call fcn.02ba7a80
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x2c66f0b
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.02ba76d0
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x2c66ab1
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x2c66ac6
jmp 0x2c67834
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], edx
lea ebx, [esp + 0xb0]
mov edx, dword [esp + 0xb8]
lea ebp, [eax + edx]
mov dword [esp + 0x68], ebp
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xb4]
cmp esi, ebp
jae 0x2c66b2a
mov dword [esp + 0x64], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x90], ecx
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x64], esi
mov dword [esp + 0xac], edi
add edx, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.02b3f220
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
call fcn.02c66140
movzx eax, byte [esp + 8]
mov byte [esp + 0x20], al
test al, al
je 0x2c66c32
nop
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x2c66bad
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x2c66bc2
jmp 0x2c6781c
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], edx
lea ebx, [esp + 0xb0]
mov edx, dword [esp + 0xb8]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xbc]
cmp edi, ebp
jae 0x2c66c22
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], esi
movzx eax, byte [esp + 0x20]
lea ebx, [esp + 0xb0]
lea ebp, [edx + 1]
mov dword [esp + 0xb8], ebp
mov byte [esi + edx], 0x2a
jmp 0x2c66c39
lea ebx, [esp + 0xb0]
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x2c66c4e
cmp edx, ebx
je 0x2c66c55
jmp 0x2c67804
mov dword [esp + 0xb0], ebx
mov edx, dword [esp + 0xb8]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xbc]
cmp edi, ebp
jae 0x2c66cb5
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], esi
movzx eax, byte [esp + 0x20]
lea ebx, [esp + 0xb0]
lea ebp, [edx + 1]
mov dword [esp + 0xb8], ebp
mov byte [esi + edx], 0x3d
test al, al
je 0x2c66d75
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x2c66ce0
cmp edx, ebx
je 0x2c66ce7
jmp 0x2c677ec
mov dword [esp + 0xb0], ebx
mov edx, dword [esp + 0xb8]
lea ebp, [edx + 7]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xb4]
cmp esi, ebp
jae 0x2c66d40
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], edx
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x64]
lea ebx, [esp + 0xb0]
mov ebp, dword [esp + 0x68]
mov dword [edi + edx], 0x2d667475
mov dword [edi + edx + 3], 0x2727382d
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xbc], esi
mov dword [esp + 0xb4], edi
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x70]
xor eax, eax
xor ebp, ebp
jmp 0x2c672fe
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x2c66d81
xor eax, eax
jmp 0x2c66db4
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x2d59fdc]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.02ba7a80
mov eax, dword [esp + 0x10]
test eax, eax
setl al
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0xb0]
test al, al
jne 0x2c66e52
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x2c66dd1
cmp edx, ebx
je 0x2c66dd8
jmp 0x2c672e5
mov dword [esp + 0xb0], ebx
mov edx, dword [esp + 0xb8]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xbc]
cmp edi, ebp
jae 0x2c66e37
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], esi
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0xb0]
lea ebp, [edx + 1]
mov dword [esp + 0xb8], ebp
mov byte [esi + edx], 0x22
mov edx, dword [esp + 0x70]
xor eax, eax
xor ebp, ebp
jmp 0x2c66f64
nop
nop
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x2c66e68
cmp eax, ebx
je 0x2c66e6f
jmp 0x2c66f4b
mov dword [esp + 0xb0], ebx
mov eax, dword [esp + 0xb8]
lea edx, [ecx + eax]
mov dword [esp + 0x68], edx
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xb4]
cmp ebx, edx
jae 0x2c66ec1
mov dword [esp + 0x64], eax
lea ecx, [0x2d0e7c0]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.02b27650
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x64], ebx
mov dword [esp + 0xac], ebp
add eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.02b3f220
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
jmp 0x2c668a9
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], ecx
add esp, 0xf0
ret
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
inc eax
cmp eax, ecx
jge 0x2c6710a
jae 0x2c672e0
movzx esi, byte [eax + edx]
xchg esi, eax
cmp al, 0x22
xchg esi, eax
je 0x2c66f84
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x2c66f63
cmp ebp, eax
ja 0x2c672d7
mov esi, eax
sub eax, ebp
mov edi, eax
neg eax
sar eax, 0x1f
and ebp, eax
lea eax, [ebp + edx]
nop
mov ebp, dword [esp + 0xb0]
test ebp, ebp
je 0x2c66fb2
cmp ebp, ebx
je 0x2c66fb9
jmp 0x2c672bf
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x68], esi
mov ebp, dword [esp + 0xb8]
lea edx, [edi + ebp]
mov dword [esp + 0x64], edx
mov ecx, dword [esp + 0xbc]
mov esi, dword [esp + 0xb4]
cmp ecx, edx
jae 0x2c6701b
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], edi
mov dword [esp + 0x78], eax
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.02b27650
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x60], ecx
mov dword [esp + 0xac], esi
lea edx, [esi + ebp]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.02b3f220
mov eax, dword [esp + 0x64]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
nop
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x2c67079
lea edx, [esp + 0xb0]
cmp eax, edx
je 0x2c67087
jmp 0x2c672a7
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], edx
mov ebx, dword [esp + 0xb8]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xbc]
cmp edi, ebp
jae 0x2c670e2
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], esi
lea edx, [esp + 0xb0]
lea ebp, [ebx + 1]
mov dword [esp + 0xb8], ebp
mov byte [esi + ebx], 0x5c
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x70]
lea ebx, [esp + 0xb0]
mov ebp, eax
jmp 0x2c66f63
cmp ebp, ecx
ja 0x2c672a0
sub ecx, ebp
mov eax, ecx
neg ecx
sar ecx, 0x1f
and ebp, ecx
lea ecx, [ebp + edx]
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x2c67136
cmp edx, ebx
je 0x2c6713d
jmp 0x2c67288
mov dword [esp + 0xb0], ebx
mov edx, dword [esp + 0xb8]
lea ebp, [eax + edx]
mov dword [esp + 0x68], ebp
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xb4]
cmp esi, ebp
jae 0x2c671a1
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x80], ecx
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x64], esi
mov dword [esp + 0xac], edi
add edx, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.02b3f220
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
nop
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x2c671fb
lea ecx, [esp + 0xb0]
cmp eax, ecx
je 0x2c67209
jmp 0x2c67270
lea eax, [esp + 0xb0]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb8]
lea ecx, [eax + 1]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xbc]
cmp ebx, ecx
jae 0x2c6725d
lea ebp, [0x2d0e7c0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.02b27650
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb4], edx
lea ecx, [eax + 1]
mov dword [esp + 0xb8], ecx
mov byte [edx + eax], 0x22
jmp 0x2c668a9
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
mov eax, ebp
call fcn.02b3e960
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
mov ecx, eax
mov eax, ebp
call fcn.02b3e960
call fcn.02b3e900
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
inc eax
cmp eax, ecx
jge 0x2c67683
jae 0x2c677e7
mov dword [esp + 0x48], eax
movzx esi, byte [edx + eax]
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
lea edi, [esi - 0x21]
xchg edi, eax
cmp al, 0x5e
xchg edi, eax
jb 0x2c6732b
mov edi, 1
jmp 0x2c673a0
xchg esi, eax
cmp al, 0x2a
xchg esi, eax
jne 0x2c67339
mov edi, 1
jmp 0x2c673a0
xchg esi, eax
cmp al, 0x27
xchg esi, eax
jne 0x2c67347
mov edi, 1
jmp 0x2c673a0
xchg esi, eax
cmp al, 0x25
xchg esi, eax
jne 0x2c67355
mov edi, 1
jmp 0x2c673a0
mov dword [esp + 0x44], ebp
nop
lea eax, [0x2d42565]
mov dword [esp], eax
mov dword [esp + 4], 0xf
xchg esi, eax
movzx ecx, al
xchg esi, eax
mov dword [esp + 8], ecx
call fcn.02ba68a0
mov eax, dword [esp + 0xc]
test eax, eax
setge al
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x70]
lea ebx, [esp + 0xb0]
mov ebp, dword [esp + 0x44]
movzx esi, byte [esp + 0x21]
mov edi, eax
mov eax, dword [esp + 0x48]
xchg edi, eax
test al, al
xchg edi, eax
je 0x2c672fd
cmp ebp, eax
ja 0x2c677de
mov edi, eax
sub eax, ebp
mov dword [esp + 0x38], eax
neg eax
sar eax, 0x1f
and ebp, eax
lea eax, [edx + ebp]
nop
mov ebp, dword [esp + 0xb0]
test ebp, ebp
je 0x2c673d9
cmp ebp, ebx
je 0x2c673e0
jmp 0x2c677c6
mov dword [esp + 0xb0], ebx
mov ebp, dword [esp + 0xb8]
mov edx, dword [esp + 0x38]
lea ecx, [edx + ebp]
mov dword [esp + 0x68], ecx
mov edi, dword [esp + 0xbc]
mov esi, dword [esp + 0xb4]
cmp edi, ecx
jae 0x2c67444
mov dword [esp + 0x64], ebp
mov dword [esp + 0x88], eax
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ecx
call fcn.02b27650
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x64], edi
mov dword [esp + 0xac], esi
lea ecx, [esi + ebp]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.02b3f220
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
nop
nop
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x2c674a3
lea edx, [esp + 0xb0]
cmp eax, edx
je 0x2c674b1
jmp 0x2c677ae
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], edx
mov ebx, dword [esp + 0xb8]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xbc]
cmp edi, ebp
jae 0x2c6750c
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], esi
lea edx, [esp + 0xb0]
lea ebp, [ebx + 1]
mov dword [esp + 0xb8], ebp
mov byte [esi + ebx], 0x25
movzx ebx, byte [esp + 0x21]
mov ebp, ebx
shr bl, 4
movzx ebx, bl
lea esi, [0x2d42bc1]
movzx ebx, byte [esi + ebx]
nop
mov edi, dword [esp + 0xb0]
test edi, edi
je 0x2c67546
cmp edi, edx
je 0x2c6754d
jmp 0x2c67796
mov dword [esp + 0xb0], edx
mov edi, dword [esp + 0xb8]
lea edx, [edi + 1]
mov esi, dword [esp + 0xb4]
mov eax, ebp
mov ebp, dword [esp + 0xbc]
cmp ebp, edx
jae 0x2c675b1
mov byte [esp + 0x22], bl
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.02b27650
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], esi
movzx eax, byte [esp + 0x21]
movzx ebx, byte [esp + 0x22]
lea edx, [edi + 1]
mov dword [esp + 0xb8], edx
mov byte [esi + edi], bl
and eax, 0xf
lea edx, [0x2d42bc1]
movzx edx, byte [eax + edx]
nop
mov ebx, dword [esp + 0xb0]
test ebx, ebx
je 0x2c675e7
lea ebp, [esp + 0xb0]
cmp ebx, ebp
je 0x2c675fc
jmp 0x2c6777e
lea ebx, [esp + 0xb0]
mov dword [esp + 0xb0], ebx
lea ebp, [esp + 0xb0]
mov ebx, dword [esp + 0xb8]
lea esi, [ebx + 1]
mov edi, dword [esp + 0xb4]
mov ebp, dword [esp + 0xbc]
cmp ebp, esi
jae 0x2c67659
mov byte [esp + 0x23], dl
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.02b27650
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], edi
movzx edx, byte [esp + 0x23]
lea esi, [ebx + 1]
mov dword [esp + 0xb8], esi
mov byte [edi + ebx], dl
mov edx, dword [esp + 0x48]
lea ebp, [edx + 1]
mov eax, edx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x70]
lea ebx, [esp + 0xb0]
jmp 0x2c672fd
cmp ebp, ecx
ja 0x2c67777
sub ecx, ebp
mov eax, ecx
neg ecx
sar ecx, 0x1f
and ebp, ecx
lea ecx, [edx + ebp]
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x2c676ae
cmp edx, ebx
je 0x2c676b5
jmp 0x2c6775f
mov dword [esp + 0xb0], ebx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + edx]
mov dword [esp + 0x68], ebx
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0xb4]
cmp ebp, ebx
jae 0x2c67719
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x8c], ecx
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x64], ebp
mov dword [esp + 0xac], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.02b3f220
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
jmp 0x2c668a9
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
mov eax, ebp
call fcn.02b3e960
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
mov ecx, eax
mov eax, ebp
call fcn.02b3e960
call fcn.02b3e900
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
mov ecx, edx
call fcn.02b3e960
call fcn.02b3e920
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2204]
mov dword [esp + 4], eax
call fcn.02b13450
nop
call fcn.02b3d440
jmp fcn.02c66220