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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x84]
cmp eax, dword [ecx + 8]
jbe 0x2cc00d4
sub esp, 0x104
mov eax, dword [esp + 0x110]
test eax, eax
jne 0x2cbdc46
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.02ae8f60
mov eax, dword [esp + 0xc]
lea ecx, [0x2d07180]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x2cbdb94
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x2d530b9]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.02b9a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x2cbdc29
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbdc21
mov dword [edx + 0x40], eax
jmp 0x2cbdc29
lea edi, [edx + 0x40]
call fcn.02b3e880
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0x104
ret
mov eax, dword [esp + 0x10c]
cmp byte [eax], 0x6e
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
call fcn.02cbab10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
test eax, eax
jne 0x2cc0040
test edx, edx
je 0x2cbe14d
mov eax, dword [esp + 0x10c]
movzx ecx, byte [eax]
cmp cl, 0x22
je 0x2cbdfaa
movzx edx, byte [esp + 0x124]
test dl, dl
jne 0x2cbde46
cmp cl, 0x66
je 0x2cbdced
cmp cl, 0x6e
jne 0x2cbdce8
lea eax, [0x2d3f6f1]
mov ecx, 4
jmp 0x2cbdd05
cmp cl, 0x74
jne 0x2cbdcfa
lea eax, [0x2d3f679]
mov ecx, 4
jmp 0x2cbdd05
lea eax, [0x2d3fbfb]
mov ecx, 6
mov dword [esp + 0x34], ecx
mov dword [esp + 0xa4], eax
mov edx, dword [esp + 0x118]
mov dword [esp], edx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.02b85990
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x2d29300]
mov dword [esp], ebp
call fcn.02aeb620
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x34]
mov dword [edi + 4], eax
mov eax, dword [0x311e9a0]
test eax, eax
jne 0x2cbdd8a
mov ecx, dword [esp + 0xa4]
mov dword [edi], ecx
jmp 0x2cbdd96
mov eax, dword [esp + 0xa4]
call fcn.02b3e880
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbddb6
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x2cbddcb
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.02b3e880
mov edi, edx
mov eax, dword [esp + 0x80]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x2cbde29
mov dword [esp], eax
lea ecx, [0x2da434c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbde21
mov dword [edx + 0x40], eax
jmp 0x2cbde29
lea edi, [edx + 0x40]
call fcn.02b3e880
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0x104
ret
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.02ae8f60
mov eax, dword [esp + 0xc]
lea ecx, [0x2d07180]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x2cbdef8
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x2d530b9]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.02b9a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x2cbdf8d
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbdf85
mov dword [edx + 0x40], eax
jmp 0x2cbdf8d
lea edi, [edx + 0x40]
call fcn.02b3e880
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0x104
ret
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x38], edx
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.02cc0890
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test al, al
jne 0x2cbe111
movzx eax, byte [esp + 0x124]
test al, al
je 0x2cc00bb
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.02ae8f60
mov eax, dword [esp + 0xc]
lea ecx, [0x2d07180]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x2cbe0ae
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x2d530b9]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.02b9a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x10]
mov ebp, dword [esp + 0xa8]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc0], esi
mov dword [esp + 0x60], edi
mov eax, dword [esp + 0x10c]
movzx ecx, byte [eax]
cmp cl, 0x66
ja 0x2cbea30
cmp cl, 0x22
je 0x2cbe185
cmp cl, 0x66
je 0x2cbec1e
jmp 0x2cbf201
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.02cc0890
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
test al, al
je 0x2cbe90e
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xb0], edx
nop
nop
mov eax, dword [esp + 0x60]
mov ebp, eax
and eax, 0x1f
cmp eax, 0x14
je 0x2cbe700
cmp eax, 0x17
je 0x2cbe46e
cmp eax, 0x18
jne 0x2cbe36b
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov ecx, dword [0x30f72b4]
mov edx, dword [esp + 0x10]
cmp dword [0x30f72b0], eax
je 0x2cbe225
xor eax, eax
jmp 0x2cbe280
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.02ae3610
movzx eax, byte [esp + 0xc]
test al, al
jne 0x2cbe242
xor eax, eax
jmp 0x2cbe280
lea eax, [esp + 0x84]
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ecx
call fcn.02b2ac40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.02cc3700
movzx eax, byte [esp + 8]
xor eax, 1
test al, al
jne 0x2cbe2ca
mov dword [esp], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.02b2ac40
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.02b85580
jmp 0x2cc0023
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 8], eax
call fcn.02ae8f60
mov eax, dword [esp + 0xc]
lea ecx, [0x2d07180]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
lea eax, [0x2d52a65]
mov dword [esp], eax
mov dword [esp + 4], 0x40
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.02b9a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.02b85990
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x2d29300]
mov dword [esp], ebp
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x2d3fc3d]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbe3f1
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x2cbe404
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.02b3e880
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x2cc0023
mov dword [esp], ecx
lea edx, [0x2da434c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbe461
mov dword [edx + 0x40], eax
jmp 0x2cc0023
lea edi, [edx + 0x40]
call fcn.02b3e880
jmp 0x2cc0023
mov dword [esp + 0x40], ebx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
jne 0x2cbe5f9
mov eax, dword [0x30f6654]
cmp dword [eax + 0x140], 0xffffffff
jne 0x2cbe4e3
mov eax, dword [esp + 0x5c]
lea ecx, [eax + eax*2]
mov edx, ecx
shl ecx, 1
sar ecx, 0x1f
shr ecx, 0x1d
lea ecx, [ecx + edx*2]
sar ecx, 3
jmp 0x2cbe4ed
mov eax, dword [esp + 0x5c]
shr eax, 2
lea ecx, [eax + eax*2]
mov dword [esp + 0x30], ecx
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.02b274d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xbc], eax
mov ecx, dword [0x30f6654]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x18], edx
call fcn.02c00300
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
test eax, eax
je 0x2cbe5b3
nop
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x2cc0023
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbe5a6
mov dword [edx + 0x40], eax
jmp 0x2cc0023
lea edi, [edx + 0x40]
call fcn.02b3e880
jmp 0x2cc0023
mov edx, dword [esp + 0x30]
cmp edx, ecx
jb 0x2cc00b6
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.02b84c60
jmp 0x2cc0023
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.02b85990
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x2d29300]
mov dword [esp], ebp
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x2d3fc3d]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbe683
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x2cbe696
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.02b3e880
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x2cc0023
mov dword [esp], ecx
lea edx, [0x2da434c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbe6f3
mov dword [edx + 0x40], eax
jmp 0x2cc0023
lea edi, [edx + 0x40]
call fcn.02b3e880
jmp 0x2cc0023
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.02b847d0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x2cbe807
mov dword [esp], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.02b2ac40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.02ae8ee0
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0x30f7930]
test cl, cl
je 0x2cbe798
lea ecx, [0x2d0e5c0]
mov dword [0x30f7934], ecx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2cbe78b
mov dword [0x30f7938], eax
jmp 0x2cbe79e
lea edi, [0x30f7938]
call fcn.02b3e880
jmp 0x2cbe79e
lea ecx, [0x2d0e5c0]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0xd4]
test ecx, ecx
je 0x2cbe7ce
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x2cbe7d4
or edx, 0x80
jmp 0x2cbe7d4
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.02b84a90
jmp 0x2cc0023
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.02b85990
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x2d29300]
mov dword [esp], ebp
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x2d3fc3d]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbe891
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x2cbe8a4
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.02b3e880
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x2cc0023
mov dword [esp], ecx
lea edx, [0x2da434c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbe901
mov dword [edx + 0x40], eax
jmp 0x2cc0023
lea edi, [edx + 0x40]
call fcn.02b3e880
jmp 0x2cc0023
movzx eax, byte [esp + 0x124]
test al, al
je 0x2cc009e
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.02ae8f60
mov eax, dword [esp + 0xc]
lea ecx, [0x2d07180]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x2cbe9cd
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x2d530b9]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.02b9a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
cmp cl, 0x6e
jne 0x2cbec15
movzx ecx, byte [esp + 0x124]
test cl, cl
je 0x2cbeb9f
mov ecx, dword [esp + 0x110]
cmp ecx, 4
jne 0x2cbea61
cmp dword [eax], 0x6c6c756e
je 0x2cbeb9f
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.02ae8f60
mov eax, dword [esp + 0xc]
lea ecx, [0x2d07180]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x2cbeafe
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x2d530b9]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.02b9a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x2cc0023
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbeb92
mov dword [edx + 0x40], eax
jmp 0x2cc0023
lea edi, [edx + 0x40]
call fcn.02b3e880
jmp 0x2cc0023
nop
mov eax, edi
and edi, 0x1f
lea ecx, [edi - 0x14]
nop
cmp ecx, 3
ja 0x2cc0023
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.02b864d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.02b84a90
jmp 0x2cc0023
cmp cl, 0x74
jne 0x2cbf201
movzx edx, byte [esp + 0x124]
test dl, dl
je 0x2cbed9b
mov ebx, dword [esp + 0x110]
cmp ebx, 4
jne 0x2cbec46
cmp dword [eax], 0x65757274
je 0x2cbeda2
cmp ebx, 5
jne 0x2cbec5d
cmp dword [eax], 0x736c6166
jne 0x2cbec5d
cmp byte [eax + 4], 0x65
je 0x2cbeda2
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.02ae8f60
mov eax, dword [esp + 0xc]
lea ecx, [0x2d07180]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x2cbecfa
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x2d530b9]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.02b9a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x2cc0023
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbed8e
mov dword [edx + 0x40], eax
jmp 0x2cc0023
lea edi, [edx + 0x40]
call fcn.02b3e880
jmp 0x2cc0023
mov ebx, dword [esp + 0x110]
cmp cl, 0x74
sete cl
nop
nop
and edi, 0x1f
cmp edi, 1
je 0x2cbf1e4
cmp edi, 0x14
je 0x2cbf002
test dl, dl
je 0x2cbef09
mov dword [esp], esi
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.02ae8f60
mov eax, dword [esp + 0xc]
lea ecx, [0x2d07180]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x2cbee68
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x2d530b9]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.02b9a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x2cc0023
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbeefc
mov dword [edx + 0x40], eax
jmp 0x2cc0023
lea edi, [edx + 0x40]
call fcn.02b3e880
jmp 0x2cc0023
mov dword [esp], esi
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.02b85990
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x2d29300]
mov dword [esp], ebp
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x2d3f679]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbef85
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x2cbef98
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.02b3e880
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x2cc0023
mov dword [esp], ecx
lea edx, [0x2da434c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbeff5
mov dword [edx + 0x40], eax
jmp 0x2cc0023
lea edi, [edx + 0x40]
call fcn.02b3e880
jmp 0x2cc0023
mov byte [esp + 0x2f], cl
mov dword [esp], esi
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.02b847d0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x2cbf0dd
movzx ecx, byte [esp + 0x2f]
movzx ecx, cl
lea edx, [0x2ed8880]
lea eax, [edx + ecx*8]
nop
movzx ecx, byte [0x30f7930]
test cl, cl
je 0x2cbf06e
lea ecx, [0x2d0d240]
mov dword [0x30f7934], ecx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2cbf061
mov dword [0x30f7938], eax
jmp 0x2cbf074
lea edi, [0x30f7938]
call fcn.02b3e880
jmp 0x2cbf074
lea ecx, [0x2d0d240]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0xdc]
test ecx, ecx
je 0x2cbf0a4
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x2cbf0aa
or edx, 0x80
jmp 0x2cbf0aa
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.02b84a90
jmp 0x2cc0023
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.02b85990
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x2d29300]
mov dword [esp], ebp
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x2d3f679]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbf167
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x2cbf17a
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.02b3e880
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x2cc0023
mov dword [esp], ecx
lea edx, [0x2da434c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbf1d7
mov dword [edx + 0x40], eax
jmp 0x2cc0023
lea edi, [edx + 0x40]
call fcn.02b3e880
jmp 0x2cc0023
mov dword [esp], esi
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
mov byte [esp + 0xc], cl
call fcn.02b84ba0
jmp 0x2cc0023
cmp cl, 0x2d
je 0x2cbf326
add ecx, 0xffffffd0
cmp cl, 9
jbe 0x2cbf326
movzx ecx, byte [esp + 0x124]
test cl, cl
je 0x2cc0086
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.02ae8f60
mov eax, dword [esp + 0xc]
lea ecx, [0x2d07180]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x2cbf2c3
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x2d530b9]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.02b9a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
mov dword [esp], 0
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 8], ecx
call fcn.02b2ac40
mov eax, dword [esp + 0xc]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
nop
mov edx, dword [esp + 0x60]
mov ebx, edx
and edx, 0x1f
cmp edx, 0xc
ja 0x2cbf8a2
lea ebp, [edx - 2]
cmp ebp, 4
jbe 0x2cbf5e9
cmp edx, 7
jb 0x2cbf8b4
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.02b6cf00
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x2cbf463
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0xc0]
mov ebx, dword [eax]
shl ebx, 3
add ebx, 0xffffffc0
neg ebx
lea ebp, [ebx - 0x20]
mov dword [esp + 0x7c], ebp
cmp ebp, 0x20
sbb esi, esi
mov dword [esp + 0x78], esi
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x74], ebp
cmp ebp, 0x20
sbb eax, eax
mov dword [esp + 0x70], eax
cmp ebx, 0x20
sbb eax, eax
mov ecx, edi
mov ebp, dword [esp + 0x4c]
shl ebp, cl
and ebp, esi
mov ecx, ebx
shl edx, cl
and edx, eax
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x4c]
shr esi, cl
mov edi, dword [esp + 0x70]
and esi, edi
or edx, esi
or edx, ebp
mov ebp, ecx
mov ecx, ebx
mov esi, dword [esp + 0x4c]
shl esi, cl
and esi, eax
shr esi, cl
and esi, eax
mov ecx, ebp
mov ebp, edx
shl edx, cl
and edx, edi
or esi, edx
mov ecx, dword [esp + 0x7c]
mov edx, ebp
shr ebp, cl
mov edi, dword [esp + 0x78]
and ebp, edi
or esi, ebp
mov ebp, dword [esp + 0x4c]
cmp ebp, esi
xchg esi, ebx
setne bl
xchg esi, ebx
mov ecx, ebx
shr edx, cl
and edx, eax
mov eax, dword [esp + 0x54]
cmp eax, edx
setne dl
or edx, esi
test dl, dl
je 0x2cbf5ba
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.02b85990
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x2d29300]
mov dword [esp], ebp
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x2d3ff90]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
call fcn.02b2a990
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbf516
mov dword [edi], eax
jmp 0x2cbf51b
call fcn.02b3e880
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbf53b
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x2cbf550
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.02b3e880
mov edi, edx
mov eax, dword [esp + 0x80]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x2cc0023
mov dword [esp], eax
lea ecx, [0x2da434c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbf5ad
mov dword [edx + 0x40], eax
jmp 0x2cc0023
lea edi, [edx + 0x40]
call fcn.02b3e880
jmp 0x2cc0023
mov ecx, dword [esp + 0xc0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebp
call fcn.02b85480
jmp 0x2cc0023
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.02b6d6e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
test eax, eax
jne 0x2cbf718
mov dword [esp + 0x50], edx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x58], ebx
mov eax, dword [esp + 0xc0]
mov ebp, dword [eax]
shl ebp, 3
add ebp, 0xffffffc0
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x6c], ebp
lea esi, [ebp - 0x20]
mov dword [esp + 0x7c], esi
cmp esi, 0x20
sbb edi, edi
mov dword [esp + 0x78], edi
cmp ebp, 0x20
sbb edx, edx
mov dword [esp + 0x74], edx
xchg esi, ebx
neg ebx
xchg esi, ebx
cmp esi, 0x20
sbb eax, eax
mov dword [esp + 0x70], eax
shr ebp, 5
cmp ebp, 1
sbb ebp, ebp
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x6c]
cmp ebp, 0x20
sbb eax, eax
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x48]
shl eax, cl
and eax, edi
mov ecx, ebp
shl ebx, cl
and ebx, edx
mov ecx, esi
mov edi, dword [esp + 0x48]
shr edi, cl
mov esi, dword [esp + 0x70]
and edi, esi
or ebx, edi
or ebx, eax
mov eax, ecx
mov ecx, ebp
mov edi, dword [esp + 0x48]
shl edi, cl
and edi, edx
mov edx, dword [esp + 0x78]
not edx
mov ebp, dword [esp + 0x7c]
or edx, ebp
mov ebp, ecx
mov ecx, edx
mov edx, ebx
sar ebx, cl
mov ecx, ebp
mov ebp, dword [esp + 0x68]
xor ebp, 0xffffffff
and ebp, ebx
mov ebx, ecx
mov ecx, eax
mov eax, edx
shl edx, cl
and edx, esi
mov ecx, ebx
shr edi, cl
mov esi, dword [esp + 0x74]
and edi, esi
or edi, edx
or ebp, edi
mov edx, dword [esp + 0x48]
cmp edx, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
mov esi, dword [esp + 0x6c]
xchg esi, ebx
not ebx
xchg esi, ebx
or ecx, esi
sar eax, cl
mov ebx, dword [esp + 0x58]
cmp ebx, eax
setne al
or eax, ebp
test al, al
je 0x2cbf86f
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.02b85990
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x2d29300]
mov dword [esp], ebp
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x2d3ff90]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
call fcn.02b2a990
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbf7cb
mov dword [edi], eax
jmp 0x2cbf7d0
call fcn.02b3e880
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbf7f0
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x2cbf805
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.02b3e880
mov edi, edx
mov eax, dword [esp + 0x80]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x2cc0023
mov dword [esp], eax
lea ecx, [0x2da434c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbf862
mov dword [edx + 0x40], eax
jmp 0x2cc0023
lea edi, [edx + 0x40]
call fcn.02b3e880
jmp 0x2cc0023
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
call fcn.02b85030
jmp 0x2cc0023
cmp edx, 0xe
jbe 0x2cbfe0e
cmp edx, 0x14
je 0x2cbfb6f
cmp edx, 0x18
je 0x2cbf8bd
xor edx, edx
jmp 0x2cbf91b
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov ecx, dword [0x30f72b4]
mov edx, dword [esp + 0x10]
cmp dword [0x30f72b0], eax
je 0x2cbf8f5
xor eax, eax
jmp 0x2cbf90a
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.02ae3610
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x60]
mov edx, eax
mov eax, dword [esp + 0xac]
test dl, dl
jne 0x2cbfb44
movzx eax, byte [esp + 0x124]
test al, al
je 0x2cbfa41
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.02ae8f60
mov eax, dword [esp + 0xc]
lea ecx, [0x2d07180]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x2cbf9de
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x2d530b9]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.02b9a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.02b85990
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x2d29300]
mov dword [esp], ebp
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x2d3fbfb]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbfac7
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x2cbfada
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.02b3e880
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x2cc0023
mov dword [esp], ecx
lea edx, [0x2da434c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbfb37
mov dword [edx + 0x40], eax
jmp 0x2cc0023
lea edi, [edx + 0x40]
call fcn.02b3e880
jmp 0x2cc0023
mov edx, dword [esp + 0xc0]
mov dword [esp], edx
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.02b85580
jmp 0x2cc0023
mov edx, dword [esp + 0x108]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.02cbd8e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
test eax, eax
je 0x2cbfbf6
nop
mov eax, dword [esp + 0x108]
mov ebx, dword [eax + 0x3c]
test ebx, ebx
jne 0x2cc0023
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbfbe9
mov dword [edx + 0x40], eax
jmp 0x2cc0023
lea edi, [edx + 0x40]
call fcn.02b3e880
jmp 0x2cc0023
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xb4], esi
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 8], edx
call fcn.02b847d0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x2cbfd07
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x2cbfcce
nop
movzx ecx, byte [0x30f7930]
test cl, cl
je 0x2cbfc88
mov ecx, dword [esp + 0xcc]
mov dword [0x30f7934], ecx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2cbfc74
mov eax, dword [esp + 0xb4]
mov dword [0x30f7938], eax
jmp 0x2cbfc96
lea edi, [0x30f7938]
mov eax, dword [esp + 0xb4]
call fcn.02b3e880
jmp 0x2cbfc96
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 0xe4]
test ecx, ecx
je 0x2cbfcc6
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x2cbfcd4
or edx, 0x80
jmp 0x2cbfcd4
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x2cbfcd4
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.02b84a90
jmp 0x2cc0023
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.02b85990
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x2d29300]
mov dword [esp], ebp
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x2d3fbfb]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbfd91
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x2cbfda4
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.02b3e880
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x2cc0023
mov dword [esp], ecx
lea edx, [0x2da434c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbfe01
mov dword [edx + 0x40], eax
jmp 0x2cc0023
lea edi, [edx + 0x40]
call fcn.02b3e880
jmp 0x2cc0023
mov dword [esp + 0x64], edx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.02b6c840
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x2cbfeb4
mov eax, dword [esp + 0x64]
cmp eax, 0xd
jne 0x2cc0001
nop
xorps xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x2cbfe90
movsd xmm1, qword [0x2da2034]
pxor xmm0, xmm1
movsd xmm1, qword [0x2da201c]
ucomisd xmm0, xmm1
jbe 0x2cc0001
movsd xmm1, qword [0x2da2024]
ucomisd xmm1, xmm0
jb 0x2cc0001
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.02b85990
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x2d29300]
mov dword [esp], ebp
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x2d3ff90]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
call fcn.02b2a990
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbff67
mov dword [edi], eax
jmp 0x2cbff6c
call fcn.02b3e880
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbff8c
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x2cbffa1
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.02b3e880
mov edi, edx
mov eax, dword [esp + 0x80]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x2cc0023
mov dword [esp], eax
lea ecx, [0x2da434c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbfff7
mov dword [edx + 0x40], eax
jmp 0x2cc0023
lea edi, [edx + 0x40]
call fcn.02b3e880
jmp 0x2cc0023
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.02b84f70
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0x104
ret
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x114]
mov dword [esp + 0xc], ecx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2214]
mov dword [esp + 4], eax
call fcn.02b13450
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2214]
mov dword [esp + 4], eax
call fcn.02b13450
call fcn.02b3e940
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2214]
mov dword [esp + 4], eax
call fcn.02b13450
nop
call fcn.02b3d440
jmp fcn.02cbdab0