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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xec]
cmp eax, dword [ecx + 8]
jbe 0x2cbd8d2
sub esp, 0x16c
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov ecx, dword [esp + 0x178]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x17c]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 0
call fcn.02cbab10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
test eax, eax
jne 0x2cbc014
test edx, edx
je 0x2cbbb14
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 8], eax
call fcn.02b85990
mov eax, dword [esp + 0x10]
mov dword [esp + 0x12c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x128], ecx
lea edx, [0x2d29300]
mov dword [esp], edx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x2d3fc01]
mov dword [eax], ecx
mov ecx, dword [esp + 0x128]
mov dword [eax + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbba81
mov ecx, dword [esp + 0x12c]
mov dword [eax + 0xc], ecx
jmp 0x2cbba94
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x12c]
call fcn.02b3e880
mov eax, ecx
mov ecx, dword [esp + 0x170]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x2cbbaef
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 + 0x170]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbbae5
mov dword [edx + 0x40], eax
jmp 0x2cbbaed
lea edi, [edx + 0x40]
call fcn.02b3e880
mov ecx, edx
mov dword [esp], ecx
call fcn.02cba540
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
add esp, 0x16c
ret
mov dword [esp + 0xa4], esi
mov dword [esp + 0x124], ebx
mov dword [esp + 0x120], ebp
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov dword [esp + 0x34], eax
nop
mov ecx, dword [esp + 0xa4]
mov edx, ecx
and ecx, 0x1f
mov dword [esp + 0xa0], ecx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xcc], ebx
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x12c], ebp
cmp ecx, 0x14
je 0x2cbbb74
xor esi, esi
jmp 0x2cbbbbd
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov ecx, dword [esp + 0x124]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.02b847d0
mov eax, dword [esp + 0xc]
test eax, eax
sete al
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xcc]
mov ebp, dword [esp + 0x12c]
mov esi, eax
mov eax, dword [esp + 0x34]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x2cbbf40
cmp ecx, 0x15
je 0x2cbbcda
cmp ecx, 0x19
jne 0x2cbbc06
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.02cc7bf0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov ebx, eax
mov ebp, edx
mov edx, dword [esp + 0x124]
mov eax, ecx
mov ecx, dword [esp + 0xa4]
jmp 0x2cbbdfc
lea eax, [0x2d29300]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x2d3fc01]
mov dword [eax], ecx
mov ecx, dword [esp + 0x12c]
mov dword [eax + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbbc47
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x2cbbc5a
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.02b3e880
mov eax, ecx
mov ecx, dword [esp + 0x170]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x2cbbcb5
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 + 0x170]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbbcab
mov dword [edx + 0x40], eax
jmp 0x2cbbcb3
lea edi, [edx + 0x40]
call fcn.02b3e880
mov ecx, edx
mov dword [esp], ecx
call fcn.02cba540
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
add esp, 0x16c
ret
mov ecx, dword [eax + 0x4c]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
lea ecx, [eax - 2]
cmp ecx, 0xa
jbe 0x2cbbd61
cmp eax, 0x18
je 0x2cbbd61
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0xcc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
lea edx, [0x2dad164]
cmp eax, edx
jne 0x2cbd8b5
mov dword [esp], ecx
call fcn.02b80220
mov eax, dword [0x30f72c0]
mov ecx, dword [0x30f72c4]
mov edx, dword [esp + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.02b80530
movzx eax, byte [esp + 0xc]
test al, al
je 0x2cbbe6c
mov ecx, dword [esp + 0xa4]
test ecx, 0x200
je 0x2cbbd79
mov edx, dword [esp + 0x124]
jmp 0x2cbbdf6
test ecx, 0x80
je 0x2cbbd8c
mov edx, dword [esp + 0x124]
mov ebx, dword [edx]
jmp 0x2cbbd95
mov edx, dword [esp + 0x124]
mov ebx, edx
test ebx, ebx
setne bl
xor ebx, 1
test bl, bl
je 0x2cbbdf6
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov ecx, dword [esp + 0xcc]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
call fcn.02b86420
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov ecx, dword [esp + 0x124]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xa4]
mov dword [esp + 8], edx
call fcn.02b84a90
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x124]
xor eax, eax
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x74], eax
lea edi, [esp + 0x158]
mov esi, eax
xor eax, eax
call fcn.02b3eb1b
mov ecx, dword [esp + 0x170]
mov eax, edx
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x2cbbe39
lea edi, [esp + 0x158]
mov esi, edx
call fcn.02b3effe
mov ecx, dword [esp + 0x170]
mov esi, dword [esp + 0x74]
mov dword [esp + 0xfc], ebx
mov dword [esp + 0xf8], ebp
lea edx, [ecx + 0x38]
mov dword [esp + 0x11c], edx
xor edi, edi
xor edi, edi
mov dword [esp + 0xe4], edi
xor edi, edi
mov dword [esp + 0xe8], edi
xor edi, edi
jmp 0x2cbc0bd
lea eax, [0x2d29300]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x2d3fc01]
mov dword [eax], ecx
mov ecx, dword [esp + 0x12c]
mov dword [eax + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbbead
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x2cbbec0
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.02b3e880
mov eax, ecx
mov ecx, dword [esp + 0x170]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x2cbbf1b
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 + 0x170]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbbf11
mov dword [edx + 0x40], eax
jmp 0x2cbbf19
lea edi, [edx + 0x40]
call fcn.02b3e880
mov ecx, edx
mov dword [esp], ecx
call fcn.02cba540
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
add esp, 0x16c
ret
mov eax, dword [esp + 0x170]
mov dword [esp], eax
call fcn.02cc0350
mov eax, dword [esp + 4]
nop
movzx ecx, byte [0x30f7930]
test cl, cl
je 0x2cbbf8a
lea ecx, [0x2d10120]
mov dword [0x30f7934], ecx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2cbbf7d
mov dword [0x30f7938], eax
jmp 0x2cbbf90
lea edi, [0x30f7938]
call fcn.02b3e880
jmp 0x2cbbf90
lea ecx, [0x2d10120]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], eax
mov ecx, dword [esp + 0x148]
test ecx, ecx
je 0x2cbbfc0
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x2cbbfc6
or edx, 0x80
jmp 0x2cbbfc6
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0x120]
mov dword [esp], ebx
mov ebx, dword [esp + 0x124]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.02b84a90
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
add esp, 0x16c
ret
mov dword [esp + 0x30], eax
mov dword [esp + 0xc8], ecx
nop
mov eax, dword [esp + 0x170]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x9c], ecx
mov dword [esp], eax
call fcn.02cba540
mov eax, dword [esp + 0x170]
mov edx, dword [eax + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 0xc]
cmp edx, eax
jb 0x2cbc0b0
mov ebx, dword [esp + 0x9c]
lea ebp, [ebx - 1]
cmp eax, ebp
jb 0x2cbc0a7
mov esi, dword [esp + 0x30]
mov esi, dword [esi + 0x10]
mov edi, dword [esp + 0xc8]
mov dword [esp], edi
sub edx, ebx
inc edx
mov edi, edx
neg edx
sar edx, 0x1f
and ebp, edx
add ecx, ebp
mov dword [esp + 4], ecx
sub eax, ebx
inc eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
call esi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], ecx
add esp, 0x16c
ret
mov ecx, eax
mov eax, ebp
call fcn.02b3e960
mov ecx, eax
call fcn.02b3e940
mov ecx, edx
mov edi, dword [esp + 0x54]
mov dword [esp + 0x54], edi
mov dword [esp], ecx
mov dword [esp + 4], 9
call fcn.02cba670
mov eax, dword [esp + 0x170]
mov ecx, dword [eax + 0x10]
cmp ecx, 5
je 0x2cbd1b5
cmp ecx, 1
jne 0x2cbd89d
nop
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x9c], ecx
mov dword [esp], eax
call fcn.02cba730
mov eax, dword [esp + 0x170]
mov edx, dword [eax + 8]
mov ecx, dword [eax]
mov ebx, dword [eax + 0xc]
lea ebp, [ebx - 1]
cmp edx, ebp
jb 0x2cbd896
mov esi, dword [esp + 0x9c]
lea edi, [esi - 1]
cmp ebp, edi
jb 0x2cbd88d
sub edx, esi
lea eax, [edx + 1]
mov dword [esp + 0x68], eax
mov edx, eax
neg eax
sar eax, 0x1f
and edi, eax
lea eax, [ecx + edi]
mov dword [esp + 0xf4], eax
mov dword [esp], eax
sub ebx, esi
mov dword [esp + 0x64], ebx
mov dword [esp + 4], ebx
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
je 0x2cbd875
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0xa0]
cmp eax, 0x15
jne 0x2cbc254
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xcc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x54]
test edx, edx
je 0x2cbc213
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 + 0xe4]
mov dword [esp], ebx
mov ebp, dword [esp + 0xe8]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x54]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.02b84a90
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
jmp 0x2cbc247
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.02b865b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.02b83850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
xor edx, edx
mov ebx, edi
mov ebp, eax
mov esi, ecx
jmp 0x2cbc4ae
lea eax, [0x2d100a0]
mov dword [esp], eax
mov ebx, dword [esp + 0xf8]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.02aefe40
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
movzx ecx, byte [esp + 0x14]
test cl, cl
je 0x2cbc2b0
mov ecx, dword [esp + 0x74]
cmp ecx, eax
jbe 0x2cbd870
lea edx, [eax + eax*8]
mov ebx, dword [esp + 0xfc]
lea edx, [ebx + edx*8]
mov eax, ebx
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xf0]
jmp 0x2cbc2f6
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xf0]
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x74]
xor edx, edx
jmp 0x2cbd1f3
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xf0]
mov edx, dword [esp + 0x100]
jmp 0x2cbc2f6
xor edx, edx
test edx, edx
je 0x2cbc37f
mov dword [esp + 0x100], edx
mov edi, ecx
movzx ecx, byte [edx + 0x41]
mov byte [esp + 0x2f], cl
mov ecx, dword [edx + 0x2c]
mov dword [esp + 0x114], ecx
mov edx, dword [edx + 0x30]
mov dword [esp + 0x98], edx
mov dword [esp + 0xc0], eax
xor eax, eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x38], eax
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0xd0], edx
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xb0]
jmp 0x2cbd41b
mov edx, dword [esp + 0x170]
movzx edi, byte [edx + 0x45]
xchg edi, eax
test al, al
xchg edi, eax
je 0x2cbc46c
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.02ae8f60
mov eax, dword [esp + 0xc]
lea ecx, [0x2d07180]
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], eax
lea eax, [0x2d45dcc]
mov dword [esp], eax
mov dword [esp + 4], 0x16
lea edx, [esp + 0x150]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.02b9a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x170]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x2cbc452
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 + 0x170]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbc44a
mov dword [edx + 0x40], eax
jmp 0x2cbc452
lea edi, [edx + 0x40]
call fcn.02b3e880
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xf0]
xor edi, edi
xor edi, edi
mov dword [esp + 0x38], edi
xor edi, edi
mov dword [esp + 0xd0], edi
xor edi, edi
mov dword [esp + 0xd4], edi
xor edi, edi
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov edx, edi
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x54], edi
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xe4], eax
mov dword [esp + 0x38], ebx
mov byte [esp + 0x2f], dl
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd0], ebp
mov eax, dword [esp + 0x170]
cmp dword [eax + 0x10], 9
jne 0x2cbc51c
mov dword [esp], eax
mov dword [esp + 4], 9
call fcn.02cba670
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0xe8]
movzx edx, byte [esp + 0x2f]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0x54]
cmp dword [eax + 0x10], 3
jne 0x2cbd392
mov dword [esp], eax
mov dword [esp + 4], 9
call fcn.02cba670
movzx eax, byte [esp + 0x2f]
test al, al
je 0x2cbc785
mov eax, dword [esp + 0x170]
mov dword [esp], eax
call fcn.02cbaa50
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test eax, eax
je 0x2cbc70e
cmp dword [eax + 8], 0xe0ff5cb4
jne 0x2cbc60e
lea eax, [0x2d0e5c0]
cmp ecx, eax
jne 0x2cbc60e
mov eax, dword [edx + 4]
mov ecx, dword [edx]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.02b2ada0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x170]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 1
call fcn.02cbdab0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test eax, eax
jne 0x2cbd263
mov ebx, dword [esp + 0xa0]
cmp ebx, 0x15
mov edx, dword [esp + 0x170]
jmp 0x2cbc7d7
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov ecx, dword [esp + 0xd4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x38]
mov dword [esp + 8], edx
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
test eax, eax
je 0x2cbc655
mov eax, dword [eax + 4]
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ecx
lea eax, [0x2d53915]
mov dword [esp], eax
mov dword [esp + 4], 0x53
lea ecx, [esp + 0x150]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.02b9a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x170]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
je 0x2cbc6b9
mov ebx, dword [esp + 0xa0]
cmp ebx, 0x15
jmp 0x2cbc7d7
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 + 0x170]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbc6f7
mov dword [edx + 0x40], eax
mov ebx, dword [esp + 0xa0]
cmp ebx, 0x15
jmp 0x2cbc7d7
lea edi, [edx + 0x40]
call fcn.02b3e880
mov ebx, dword [esp + 0xa0]
cmp ebx, 0x15
jmp 0x2cbc7d7
mov eax, dword [0x30f1cc8]
mov ecx, dword [0x30f1ccc]
mov edx, dword [0x30f1cd0]
mov ebx, dword [esp + 0x170]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 0
call fcn.02cbdab0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test eax, eax
jne 0x2cbd278
mov ebx, dword [esp + 0xa0]
cmp ebx, 0x15
mov edx, dword [esp + 0x170]
jmp 0x2cbc7d7
mov eax, dword [esp + 0x170]
mov dword [esp], eax
mov ecx, dword [esp + 0xd0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xd4]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0xc], ebx
call fcn.02cba880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x2cbd2a2
mov ebx, dword [esp + 0xa0]
cmp ebx, 0x15
mov edx, dword [esp + 0x170]
jne 0x2cbd135
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0xcc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 8]
lea ebp, [0x2dad164]
cmp ecx, ebp
jne 0x2cbd376
mov dword [esp + 0x128], ecx
mov dword [esp + 0xec], edx
mov dword [esp + 0x58], eax
mov dword [esp], ebx
call fcn.02b80220
mov eax, dword [0x30f72c0]
mov ecx, dword [0x30f72c4]
mov edx, dword [esp + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.02b80530
movzx eax, byte [esp + 0xc]
test al, al
jne 0x2cbd016
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0xec]
mov dword [esp], edx
call ecx
cmp dword [esp + 4], 0x18
jne 0x2cbc949
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.02ae8f60
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0x30f7930]
test cl, cl
je 0x2cbc8cd
lea ecx, [0x2d07180]
mov dword [0x30f7934], ecx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2cbc8c0
mov dword [0x30f7938], eax
jmp 0x2cbc8d3
lea edi, [0x30f7938]
call fcn.02b3e880
jmp 0x2cbc8d3
lea ecx, [0x2d07180]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], eax
mov edx, dword [esp + 0x138]
test edx, edx
je 0x2cbc905
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x2cbc90b
or ebx, 0x80
jmp 0x2cbc90b
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x128]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
call fcn.02b86930
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x170]
jmp 0x2cbd0d2
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 0x50]
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
lea ecx, [eax - 2]
cmp ecx, 4
jbe 0x2cbccba
add eax, 0xfffffff9
cmp eax, 5
ja 0x2cbd35e
mov dword [esp], 0
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.02b2ac40
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
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
je 0x2cbc9e0
mov eax, 1
jmp 0x2cbcae1
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov ecx, dword [esp + 0xec]
mov dword [esp + 4], ecx
call fcn.02b864d0
mov eax, dword [esp + 0x10]
and eax, 0x1f
lea ecx, [eax - 7]
mov edx, dword [esp + 8]
cmp ecx, 5
ja 0x2cbd31a
mov eax, dword [edx]
shl eax, 3
add eax, 0xffffffc0
neg eax
cmp eax, 0x20
sbb edx, edx
mov dword [esp + 0x94], edx
lea ecx, [eax - 0x20]
cmp ecx, 0x20
sbb ebx, ebx
mov dword [esp + 0x90], ebx
mov ebp, ecx
neg ecx
mov dword [esp + 0x8c], ecx
cmp ecx, 0x20
sbb esi, esi
mov dword [esp + 0x88], esi
mov edi, ecx
mov ecx, ebp
mov edx, dword [esp + 0x48]
shl edx, cl
and edx, ebx
mov ecx, edi
mov ebx, dword [esp + 0x48]
shr ebx, cl
and ebx, esi
mov ecx, eax
mov esi, dword [esp + 0x50]
shl esi, cl
mov edi, dword [esp + 0x94]
and esi, edi
or esi, ebx
or esi, edx
mov dword [esp + 0x94], esi
mov edx, dword [esp + 0x48]
mov ebx, edx
shl edx, cl
and edx, edi
mov ecx, ebp
mov ebp, esi
shr esi, cl
mov ecx, ebx
mov ebx, dword [esp + 0x90]
and esi, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x8c]
shl ebp, cl
mov ecx, eax
shr edx, cl
mov eax, dword [esp + 0x88]
and ebp, eax
and edx, edi
or edx, ebp
or edx, esi
cmp ebx, edx
setne al
mov edx, dword [esp + 0x94]
shr edx, cl
and edx, edi
mov ebp, dword [esp + 0x50]
cmp ebp, edx
setne dl
or edx, eax
mov ecx, ebx
mov eax, edx
mov edx, ebp
test al, al
je 0x2cbcbf7
lea eax, [0x2d29300]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [esp + 0x110], eax
mov dword [esp], 0
lea ecx, [0x2d3ff90]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov edx, dword [esp + 0xd8]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x10], edx
call fcn.02b2a990
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x110]
mov dword [edi + 4], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbcb53
mov dword [edi], eax
jmp 0x2cbcb58
call fcn.02b3e880
mov ebx, dword [esp + 0x128]
mov dword [edi + 8], ebx
mov ebx, dword [0x311e9a0]
test ebx, ebx
jne 0x2cbcb78
mov ebx, dword [esp + 0xec]
mov dword [edi + 0xc], ebx
jmp 0x2cbcb8d
lea ebx, [edi + 0xc]
mov eax, dword [esp + 0xec]
mov ecx, edi
mov edi, ebx
call fcn.02b3e880
mov edi, ecx
mov ebx, dword [esp + 0x9c]
mov dword [edi + 0x10], ebx
sar ebx, 0x1f
mov dword [edi + 0x14], ebx
mov ebx, dword [esp + 0x170]
mov ebp, dword [ebx + 0x3c]
test ebp, ebp
jne 0x2cbcbec
mov dword [esp], ebx
lea eax, [0x2da434c]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x170]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbcbe2
mov dword [edx + 0x40], eax
jmp 0x2cbcbea
lea edi, [edx + 0x40]
call fcn.02b3e880
mov ebx, edx
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x2cbd0d2
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.02ae8e30
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0x30f7930]
test cl, cl
je 0x2cbcc3e
lea ecx, [0x2d0e780]
mov dword [0x30f7934], ecx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2cbcc31
mov dword [0x30f7938], eax
jmp 0x2cbcc44
lea edi, [0x30f7938]
call fcn.02b3e880
jmp 0x2cbcc44
lea ecx, [0x2d0e780]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], eax
mov edx, dword [esp + 0x140]
test edx, edx
je 0x2cbcc76
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x2cbcc7c
or ebx, 0x80
jmp 0x2cbcc7c
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x128]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
call fcn.02b86930
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x170]
jmp 0x2cbd0d2
mov dword [esp], 0
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.02b2ac40
mov eax, dword [esp + 0xc]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
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]
test eax, eax
je 0x2cbcd22
mov eax, 1
jmp 0x2cbce3d
mov dword [esp + 0x4c], edx
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov ecx, dword [esp + 0xec]
mov dword [esp + 4], ecx
call fcn.02b864d0
mov eax, dword [esp + 0x10]
and eax, 0x1f
lea ecx, [eax - 2]
mov edx, dword [esp + 8]
cmp ecx, 4
ja 0x2cbd2d6
mov eax, dword [edx]
shl eax, 3
lea ecx, [eax - 0x40]
neg ecx
mov dword [esp + 0x84], ecx
cmp ecx, 0x20
sbb eax, eax
lea edx, [ecx - 0x20]
mov ebx, edx
neg edx
mov dword [esp + 0x94], edx
cmp edx, 0x20
sbb ebp, ebp
mov dword [esp + 0x90], ebp
cmp ebx, 0x20
sbb esi, esi
mov edi, ecx
shr ecx, 5
cmp ecx, 1
sbb ebp, ebp
mov dword [esp + 0x8c], ebp
cmp edi, 0x20
sbb ebp, ebp
mov dword [esp + 0x80], ebp
mov ecx, edi
mov ebp, dword [esp + 0x4c]
shl ebp, cl
mov ecx, edx
mov edi, dword [esp + 0x44]
shr edi, cl
mov ecx, ebx
mov edx, dword [esp + 0x44]
shl edx, cl
and edx, esi
and ebp, eax
mov ebx, dword [esp + 0x90]
and edi, ebx
or ebp, edi
or ebp, edx
mov edx, ecx
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x44]
shl edi, cl
and edi, eax
xchg esi, ebx
not ebx
xchg esi, ebx
or esi, edx
mov edx, ecx
mov ecx, esi
mov esi, ebp
sar ebp, cl
mov ecx, edx
shr edi, cl
and edi, eax
mov ecx, dword [esp + 0x94]
mov eax, esi
shl esi, cl
and esi, ebx
or edi, esi
mov ebx, dword [esp + 0x8c]
xor ebx, 0xffffffff
and ebx, ebp
or ebx, edi
mov ebp, dword [esp + 0x44]
cmp ebp, ebx
setne bl
mov ecx, dword [esp + 0x80]
not ecx
or ecx, edx
sar eax, cl
mov edx, dword [esp + 0x4c]
cmp edx, eax
setne al
or eax, ebx
mov ecx, ebp
test al, al
je 0x2cbcf53
lea eax, [0x2d29300]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [esp + 0x110], eax
mov dword [esp], 0
lea ecx, [0x2d3ff90]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov edx, dword [esp + 0xdc]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x10], edx
call fcn.02b2a990
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x110]
mov dword [edi + 4], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbceaf
mov dword [edi], eax
jmp 0x2cbceb4
call fcn.02b3e880
mov ebx, dword [esp + 0x128]
mov dword [edi + 8], ebx
mov ebx, dword [0x311e9a0]
test ebx, ebx
jne 0x2cbced4
mov ebx, dword [esp + 0xec]
mov dword [edi + 0xc], ebx
jmp 0x2cbcee9
lea ebx, [edi + 0xc]
mov eax, dword [esp + 0xec]
mov ecx, edi
mov edi, ebx
call fcn.02b3e880
mov edi, ecx
mov ebx, dword [esp + 0x9c]
mov dword [edi + 0x10], ebx
sar ebx, 0x1f
mov dword [edi + 0x14], ebx
mov ebx, dword [esp + 0x170]
mov ebp, dword [ebx + 0x3c]
test ebp, ebp
jne 0x2cbcf48
mov dword [esp], ebx
lea eax, [0x2da434c]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.02cba430
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x170]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbcf3e
mov dword [edx + 0x40], eax
jmp 0x2cbcf46
lea edi, [edx + 0x40]
call fcn.02b3e880
mov ebx, edx
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x2cbd0d2
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.02ae8e30
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0x30f7930]
test cl, cl
je 0x2cbcf9a
lea ecx, [0x2d0de40]
mov dword [0x30f7934], ecx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2cbcf8d
mov dword [0x30f7938], eax
jmp 0x2cbcfa0
lea edi, [0x30f7938]
call fcn.02b3e880
jmp 0x2cbcfa0
lea ecx, [0x2d0de40]
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], eax
mov edx, dword [esp + 0x130]
test edx, edx
je 0x2cbcfd2
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x2cbcfd8
or ebx, 0x80
jmp 0x2cbcfd8
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x128]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
call fcn.02b86930
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x170]
jmp 0x2cbd0d2
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
call fcn.02b865b0
mov eax, dword [esp + 8]
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x108], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x7c], edx
mov ebx, dword [esp + 0x170]
mov dword [esp], ebx
mov ebp, dword [esp + 0xf4]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x64]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x68]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 1
call fcn.02cbdab0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test eax, eax
jne 0x2cbd28d
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.02b83850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x170]
test edx, edx
je 0x2cbd12c
mov ebx, dword [esp + 0x120]
mov dword [esp], ebx
mov ebp, dword [esp + 0x124]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xa4]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], eax
call fcn.02b85200
mov ebx, dword [esp + 0x170]
mov edx, ebx
mov ebx, dword [esp + 0xa0]
cmp dword [edx + 0x10], 9
jne 0x2cbd159
mov dword [esp], edx
mov dword [esp + 4], 9
call fcn.02cba670
mov edx, dword [esp + 0x170]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [edx + 0x38]
test ebp, ebp
je 0x2cbd19f
mov esi, dword [ebp + 0x10]
mov ecx, dword [esp + 0x164]
cmp ecx, esi
ja 0x2cbd2cf
mov dword [ebp + 0xc], ecx
mov ecx, dword [edx + 0x38]
mov eax, dword [esp + 0x15c]
mov ebp, dword [esp + 0x158]
mov dword [ecx], ebp
mov ebp, dword [0x311e9a0]
test ebp, ebp
jne 0x2cbd197
mov dword [ecx + 4], eax
jmp 0x2cbd19f
lea edi, [ecx + 4]
call fcn.02b3e880
mov eax, dword [edx + 0x10]
cmp eax, 5
je 0x2cbd1b5
cmp eax, 4
je 0x2cbc0b7
jmp 0x2cbd2b7
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
add esp, 0x16c
ret
mov eax, dword [esp + 0x6c]
lea edx, [eax + 1]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xf0]
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x74]
cmp edx, ecx
jge 0x2cbc2f4
jae 0x2cbd869
mov dword [esp + 0x6c], edx
lea ecx, [edx + edx*8]
lea edi, [eax + ecx*8]
mov dword [esp + 0x100], edi
lea ebx, [eax + ecx*8 + 0x14]
mov ebx, dword [ebx]
mov dword [esp + 0x118], ebx
mov ebx, dword [ebx]
lea ecx, [eax + ecx*8 + 8]
mov ecx, dword [ecx]
mov eax, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x60]
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x118]
call ebx
movzx eax, byte [esp + 0x18]
test al, al
je 0x2cbd1d2
jmp 0x2cbc2d1
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], edx
add esp, 0x16c
ret
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], edx
add esp, 0x16c
ret
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], edx
add esp, 0x16c
ret
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], edx
add esp, 0x16c
ret
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2214]
mov dword [esp + 4], eax
call fcn.02b13450
mov edx, esi
call fcn.02b3e940
mov dword [esp + 0xa4], eax
lea eax, [0x2d1d080]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x19
lea ecx, [0x2d476c0]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa4]
mov dword [eax + 8], ecx
lea ecx, [0x2d141a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.02b13450
mov dword [esp + 0xa4], eax
lea eax, [0x2d1d080]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x2d48000]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa4]
mov dword [eax + 8], ecx
lea ecx, [0x2d141a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.02b13450
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2234]
mov dword [esp + 4], eax
call fcn.02b13450
mov dword [esp], ecx
lea eax, [0x2d3c4c0]
mov dword [esp + 4], eax
lea eax, [0x2d36260]
mov dword [esp + 8], eax
call fcn.02ae8c30
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2214]
mov dword [esp + 4], eax
call fcn.02b13450
mov ecx, dword [esp + 0xd0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
call fcn.02b839b0
mov eax, dword [esp + 0x78]
inc eax
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x98]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x78], eax
mov dword [esp + 0x38], esi
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd0], ebp
mov eax, dword [esp + 0xfc]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xf0]
mov ebx, dword [esp + 0x78]
cmp ebx, edx
jge 0x2cbd678
mov eax, dword [ecx + ebx*4]
nop
mov ebp, dword [esp + 0x38]
and ebp, 0x1f
cmp ebp, 0x16
jne 0x2cbd584
mov dword [esp + 0x70], eax
mov ebp, dword [esp + 0x38]
test ebp, 0x200
jne 0x2cbd541
test ebp, 0x80
je 0x2cbd474
mov esi, dword [esp + 0xd4]
mov edi, dword [esi]
mov esi, dword [esp + 0xf0]
mov dword [esp + 0xe0], edi
mov edi, dword [esp + 0x74]
jmp 0x2cbd490
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xa8]
mov esi, dword [esp + 0xe0]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
xchg esi, eax
test al, al
xchg esi, eax
je 0x2cbd541
mov esi, ebp
and ebp, 0x160
cmp ebp, 0x100
jne 0x2cbd58d
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov ecx, dword [esp + 0xd4]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
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 dword [esp], eax
mov dword [esp + 4], ecx
call fcn.02b865b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xd0]
mov dword [esp], ebx
mov ebp, dword [esp + 0xd4]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.02b84a90
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.02b83850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebp, edx
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
mov eax, dword [esp + 0x70]
jmp 0x2cbd3aa
mov ebp, dword [esp + 0x38]
jmp 0x2cbd3aa
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
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 dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
test eax, eax
je 0x2cbd5e0
mov eax, dword [eax + 4]
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ecx
lea eax, [0x2d5205f]
mov dword [esp], eax
mov dword [esp + 4], 0x3a
lea ecx, [esp + 0x150]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.02b9a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x170]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x2cbd66e
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 + 0x170]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cbd666
mov dword [edx + 0x40], eax
jmp 0x2cbd66e
lea edi, [edx + 0x40]
call fcn.02b3e880
xor eax, eax
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
jmp 0x2cbd696
mov edx, dword [esp + 0x170]
movzx eax, byte [esp + 0x2f]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0xd0]
mov ebp, dword [esp + 0xd4]
mov dword [esp + 0x38], ecx
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xd0], ebx
mov byte [esp + 0x2f], al
mov esi, dword [edx + 0x38]
test esi, esi
jne 0x2cbd707
lea eax, [0x2d1c4e0]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [0x311e9a0]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x2cbd6db
mov edx, dword [esp + 0x170]
mov dword [edx + 0x38], ecx
jmp 0x2cbd6f0
mov edi, dword [esp + 0x11c]
mov eax, ecx
call fcn.02b3e880
mov edx, dword [esp + 0x170]
movzx eax, byte [esp + 0x2f]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0xd0]
mov ebp, dword [esp + 0xd4]
mov esi, dword [edx + 0x38]
mov dword [esp + 0x104], esi
mov edi, ecx
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x98], ecx
mov ebx, dword [esi + 0x10]
lea ebp, [ecx + 1]
mov edx, dword [esi + 8]
mov esi, dword [esp + 0x100]
mov ecx, dword [esi]
mov dword [esp + 0x128], ecx
mov esi, dword [esi + 4]
cmp ebx, ebp
jb 0x2cbd746
mov ebx, dword [esp + 0x98]
jmp 0x2cbd7b4
mov dword [esp + 0x78], esi
lea eax, [0x2d0e5c0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x98]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x104]
mov dword [ebx + 0x10], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2cbd794
mov dword [ebx + 8], eax
jmp 0x2cbd79c
lea edi, [ebx + 8]
call fcn.02b3e880
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x38]
mov ebx, ecx
mov edx, eax
movzx eax, byte [esp + 0x2f]
mov ecx, dword [esp + 0x128]
lea ebp, [ebx + 1]
mov ecx, dword [esp + 0x104]
mov dword [ecx + 0xc], ebp
lea ecx, [edx + ebx*8 + 4]
mov dword [ecx], esi
mov ecx, dword [0x311e9a0]
lea edx, [edx + ebx*8]
test ecx, ecx
jne 0x2cbd7df
mov ecx, dword [esp + 0x128]
mov dword [edx], ecx
jmp 0x2cbd7f5
mov ecx, edi
mov edi, edx
mov ebx, eax
mov eax, dword [esp + 0x128]
call fcn.02b3e880
mov eax, ebx
mov edi, ecx
mov ecx, dword [esp + 0x170]
mov edx, dword [ecx + 0x38]
mov ebx, dword [esp + 0x12c]
mov dword [edx], ebx
mov ebp, dword [0x311e9a0]
test ebp, ebp
jne 0x2cbd81e
mov ebp, dword [esp + 0xcc]
mov dword [edx + 4], ebp
jmp 0x2cbd83e
add edx, 4
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0xcc]
call fcn.02b3e880
mov eax, esi
mov ebp, dword [esp + 0xcc]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x170]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xf0]
movzx edi, byte [esp + 0x2f]
jmp 0x2cbc488
mov eax, edx
call fcn.02b3e900
call fcn.02b3e900
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2214]
mov dword [esp + 4], eax
call fcn.02b13450
mov eax, edi
mov ecx, ebp
call fcn.02b3e960
mov ecx, ebp
call fcn.02b3e940
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2214]
mov dword [esp + 4], eax
call fcn.02b13450
mov dword [esp], eax
lea eax, [0x2d3c4c0]
mov dword [esp + 4], eax
lea eax, [0x2d36260]
mov dword [esp + 8], eax
call fcn.02ae8c30
nop
call fcn.02b3d440
jmp fcn.02cbb990