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

Disassembly:
push ebp
xor eax, eax
push edi
push esi
push ebx
sub esp, 0xcc
mov ebx, dword [esp + 0xe0]
test byte [esp + 0x105], 0x40
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 3
mov esi, dword [ebx + 0xd8]
setne al
mov ebp, dword [ebx + 0x158]
mov dword [esp + 0xb8], 2
mov dword [esp + 0xbc], 1
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0xf4]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0xe8]
mov edx, dword [esi + 0xf0]
mov esi, dword [esp + 0xec]
mov dword [ebx + 0x160], 0x3f
mov dword [esi + 0x1a4], eax
mov esi, dword [esp + 0xe4]
mov dword [ebp + 0x1a4], eax
mov dword [esi + 0x1a4], eax
mov esi, dword [esp + 0xec]
mov dword [ebx + 0x1a4], eax
lea eax, [edx + 1]
imul edx, eax
mov dword [esi + 0x168], 0x1265b80
mov dword [esi + 0x160], 0x3f
mov esi, dword [esp + 0xe8]
mov dword [ebp + 0x168], 0x1265b80
mov ebp, dword [esp + 0xe4]
mov dword [ebp + 0x168], 0x1265b80
mov dword [ebp + 0x160], 0x3f
mov dword [ebx + 0x168], 0x1265b80
mov dword [esi + 0x160], 0x3f
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0xf0]
mov edi, dword [esp + 0xe8]
mov ecx, dword [esp + 0xf0]
imul ebp, ebp
mov dword [esp + 0x9c], esi
mov esi, dword [esp + 0xe4]
mov dword [esp + 0x28], edx
mov dword [esp + 0xa0], ebx
shl ebp, 4
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0xec]
mov dword [esp + 0x24], 0
mov dword [esp + 0x4c], ebx
mov eax, dword [esp + 0x2c]
xor edx, edx
imul eax, dword [ecx + 0x17c]
add dword [esp + 0x24], 1
div dword [esp + 0x28]
sar eax, 6
mov dword [ebx + 0x170], eax
mov dword [esi + 0x170], eax
mov dword [edi + 0x170], eax
mov dword [ebp + 0x170], eax
mov eax, dword [ecx + 0x15c]
add ecx, 4
mov dword [ebx + 0x18c], eax
add ebx, 4
mov dword [esi + 0x18c], eax
add esi, 4
mov dword [edi + 0x18c], eax
add edi, 4
mov dword [ebp + 0x18c], eax
add ebp, 4
cmp dword [esp + 0x24], 6
jne 0xb7ca35
mov eax, dword [esp + 0x118]
mov ebx, dword [esp + 0x4c]
test eax, eax
jne 0xb7d100
xor eax, eax
mov esi, 3
xor edx, edx
cmp eax, 2
mov dword [esp + 0x24], ebx
je 0xb7cb20
cmp eax, 3
je 0xb7cbf0
test eax, eax
jne 0xb7cbe0
mov ecx, dword [esp + 0x24]
mov ebp, dword [ecx + 0x10]
add edx, 1
mov ecx, dword [esp + edx*4 + 0xb0]
cmp ecx, 2
je 0xb7cb39
cmp ecx, 3
je 0xb7cbc2
test ecx, ecx
jne 0xb7cbd1
mov ebx, dword [esp + 0x24]
mov edi, dword [ebx + 0x10]
cmp ebp, edi
jle 0xb7cb10
mov dword [esp + edx*4 + 0xac], ecx
mov dword [esp + edx*4 + 0xb0], eax
cmp edx, esi
je 0xb7cb45
mov eax, dword [esp + edx*4 + 0xb0]
cmp eax, 2
jne 0xb7cabf
add edx, 1
mov ebx, dword [esp + 0xe4]
mov ecx, dword [esp + edx*4 + 0xb0]
mov ebp, dword [ebx + 0x10]
cmp ecx, 2
jne 0xb7cae6
mov ebx, dword [esp + 0xe4]
mov edi, dword [ebx + 0x10]
jmp 0xb7cafe
sub esi, 1
mov ebx, dword [esp + 0x24]
cmp esi, 0xffffffff
mov eax, dword [esp + 0xb0]
je 0xb7cb60
test esi, esi
jne 0xb7cab4
mov edx, dword [esp + 0x114]
mov ecx, eax
xor esi, esi
mov dword [esp + 0x4c], 0
add edx, edx
mov dword [esp + 0x64], edx
xor edx, edx
cmp ecx, 2
mov edi, dword [esp + 0x64]
je 0xb7cbb6
cmp ecx, 3
je 0xb7d290
test ecx, ecx
jne 0xb7d280
mov ecx, dword [ebx + 0x10]
cmp ecx, edi
setl cl
add edx, 1
movzx ecx, cl
add esi, ecx
cmp edx, 4
je 0xb7cc00
mov ecx, dword [esp + edx*4 + 0xb0]
cmp ecx, 2
jne 0xb7cb84
mov ebp, dword [esp + 0xe4]
mov ecx, dword [ebp + 0x10]
jmp 0xb7cb98
mov ebx, dword [esp + 0xe8]
mov edi, dword [ebx + 0x10]
jmp 0xb7cafe
mov ebx, dword [esp + 0xec]
mov edi, dword [ebx + 0x10]
jmp 0xb7cafe
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx + 0x10]
jmp 0xb7cad7
mov ebx, dword [esp + 0xe8]
mov ebp, dword [ebx + 0x10]
jmp 0xb7cad7
cmp esi, 1
mov dword [esp + 0x4c], esi
mov dword [esp + 0x68], eax
mov dword [esp + 0x24], 0
jle 0xb7d0b0
mov esi, dword [esp + 0x10c]
mov ebp, dword [esp + 0x110]
mov dword [esp + 0x24], 0x100000
mov dword [esp + 0x68], 0
shl esi, 4
shl ebp, 4
mov dword [esp + 0x94], esi
mov esi, dword [esp + 0x10c]
mov dword [esp + 0x98], ebp
mov ebp, dword [esp + 0x110]
add esi, 1
shl esi, 4
add ebp, 1
neg esi
shl ebp, 4
neg ebp
mov dword [esp + 0x78], esi
xor esi, esi
cmp eax, 2
mov edi, esi
mov esi, dword [esp + 0xec]
mov dword [esp + 0x7c], ebp
je 0xb7d902
cmp eax, 3
je 0xb7d920
test eax, eax
jne 0xb7d911
mov edx, dword [ebx + 0x10]
cmp edx, dword [esp + 0x64]
jg 0xb7d0b0
cmp eax, 2
je 0xb7d930
cmp eax, 3
je 0xb7ded3
test eax, eax
jne 0xb7d970
mov ebp, dword [esp + 0x24]
mov eax, dword [ebx + 0xd8]
mov dword [ebx + 0x10], ebp
mov ebp, dword [ebx + 0x28]
mov dword [ebx + 0xdc], eax
mov dword [esp + 0x3c], ebp
mov ebp, dword [ebx + 0x24]
mov dword [esp + 0x38], ebp
mov eax, dword [esp + 0x38]
mov ebp, dword [ebx + 0x154]
add eax, 0x20
mov dword [esp + 0x28], ebp
sub ebp, 0xffffff80
cmp eax, 0x3f
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x24]
ja 0xb7d8d0
cmp dword [esp + 0x3c], 0x1f
jg 0xb7d8d0
cmp dword [esp + 0x3c], 0xffffffe0
jl 0xb7d8d0
mov eax, dword [ebx + 0xd0]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x34], eax
mov dword [esp + 0x60], 0x60
mov dword [esp + 0x58], 0x10
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x90], edi
mov dword [esp + 0xa4], esi
mov esi, dword [esp + 0x44]
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x38]
add eax, dword [esi + 0x110]
test ebp, ebp
jne 0xb7df26
mov esi, dword [esi + 0x130]
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
add edx, dword [ebp + 0x114]
test edi, edi
jne 0xb7df11
mov edi, dword [ebp + 0x134]
mov ecx, dword [ebx]
cmp eax, ecx
jg 0xb7e937
mov ebp, dword [ebx + 4]
cmp eax, ebp
mov dword [esp + 0x80], ebp
jl 0xb7e937
mov ebp, dword [ebx + 8]
cmp edx, ebp
mov dword [esp + 0x40], ebp
jg 0xb7e937
mov ebp, dword [ebx + 0xc]
cmp edx, ebp
mov dword [esp + 0x5c], ebp
jl 0xb7e937
cmp ecx, esi
jl 0xb7e937
cmp dword [esp + 0x80], esi
jg 0xb7e937
cmp dword [esp + 0x40], edi
jl 0xb7e937
cmp dword [esp + 0x5c], edi
jg 0xb7e937
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x2c]
shr ecx, 1
imul ecx, dword [esp + 0x34]
and ebp, 1
add ebp, ecx
mov ecx, dword [ebx + 0xd8]
shl ebp, 3
test ecx, ecx
jne 0xb7e620
mov ecx, eax
and ecx, 1
add ecx, ecx
mov dword [esp + 0x5c], ecx
mov ecx, edx
add dword [esp + 0x74], edx
and ecx, 1
sar edx, 1
imul edx, dword [esp + 0x34]
or dword [esp + 0x5c], ecx
mov ecx, edi
add dword [esp + 0x70], eax
and ecx, 1
sar eax, 1
add edx, eax
mov eax, dword [esp + 0x5c]
add dword [esp + 0x54], edi
sar edi, 1
imul edi, dword [esp + 0x34]
add edx, dword [ebx + eax*4 + 0xa0]
mov eax, esi
and eax, 1
add eax, eax
or ecx, eax
add edx, ebp
add dword [esp + 0x50], esi
sar esi, 1
add esi, edi
add esi, dword [ebx + ecx*4 + 0xe4]
lea eax, [esi + ebp]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 0x10], ecx
add ebp, dword [ebx + 0xb8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call dword [0x1abada0]
mov esi, dword [esp + 0x48]
mov ebp, dword [ebx + 0x1a4]
mov edx, dword [ebx + 0x154]
mov ecx, dword [esp + 0x28]
mov esi, dword [esi + 0x18c]
mov dword [esp + 0x5c], ebp
mov ebp, dword [ebx + 0x188]
mov edi, dword [ebx + 0x16c]
mov dword [esp + 0x40], edx
mov dword [esp + 0x8c], esi
mov esi, dword [esp + 0x48]
mov dword [esp + 0x34], ebp
mov ebp, dword [ebx + 0x168]
mov esi, dword [esi + 0x170]
mov dword [esp + 0x84], ebp
mov ebp, dword [ebx + 0x15c]
mov dword [esp + 0x80], esi
mov esi, dword [ebx + 0x158]
mov dword [esp], ecx
call dword [0x1abad40]
test ebp, ebp
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
je 0xb7df53
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [0x1abad84]
cmp eax, 2
jg 0xb7cf73
mov edx, dword [esp + 0x30]
cmp word [edx + 2], 0
jne 0xb7cf73
cmp word [edx + 0x10], 0
je 0xb7e6b0
mov edx, dword [esp + 0x40]
mov ecx, 5
mov eax, 1
sub ecx, dword [esp + 0x2c]
add edx, 0x100
shl eax, cl
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x84]
or dword [esp + 0x6c], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00b448a0
mov dword [esp + 8], esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0xc], edi
mov dword [esp + 4], esi
shl eax, 4
add eax, dword [esp + 0x60]
test ebp, ebp
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x60], eax
mov dword [esp], ebp
je 0xb7dfa0
call dword [0x1abad88]
mov eax, dword [esp + 0x5c]
test eax, eax
je 0xb7df70
mov esi, dword [esp + 0x28]
mov dword [esp], esi
call dword [0x1abad48]
mov ebp, dword [esp + 0x8c]
mov ecx, 0x10
mov edx, 0x8000
add ebp, ebp
imul ebp, eax
mov eax, 0x8000
jmp 0xb7d014
or eax, edx
mov edi, eax
mov esi, eax
imul edi, eax
xor esi, edx
cmp ebp, edi
cmovb eax, esi
shr edx, 1
sub ecx, 1
jne 0xb7d012
mov ebp, dword [esp + 0x40]
add eax, 0x30
mov esi, dword [esp + 0x28]
shr eax, 6
movzx eax, ax
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], esi
call dword [0x1abad5c]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x60], 0
lea eax, [eax + eax*4]
shr eax, 7
imul eax, dword [esp + 0x80]
xor edx, edx
add ecx, dword [esp + 0x58]
div dword [esp + 0x34]
add ecx, eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x58], ecx
cmp ecx, eax
jg 0xb7f1ec
add dword [esp + 0x2c], 1
add dword [esp + 0x44], 8
add dword [esp + 0x48], 4
cmp dword [esp + 0x2c], 4
je 0xb7dfb0
mov eax, dword [ebx + 0xd0]
mov dword [esp + 0x34], eax
jmp 0xb7cd79
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0xf0]
mov dword [esi + 0x154], ebp
mov ebp, dword [esp + 0x68]
cmp ebp, 1
mov dword [esi + 0xec], ebp
je 0xb7d2a0
jle 0xb7ea20
cmp dword [esp + 0x68], 2
je 0xb7d370
cmp dword [esp + 0x68], 3
je 0xb7e85a
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebp, dword [esp + 0xf0]
mov dword [ebp + 0x154], 0
mov dword [ebp + 0xec], 0
mov eax, dword [esp + 0x88]
test eax, eax
jne 0xb7e734
mov ebp, dword [esp + 0xf4]
mov dword [esp + 0x28], 2
cmp dword [ebp + 0xec], 2
je 0xb7d15d
mov esi, dword [esp + 0xf0]
mov dword [esi + 0xec], 5
mov ebp, dword [ebp + 0xec]
mov dword [esp + 0x28], ebp
mov eax, dword [ebx + 0x24]
mov esi, dword [esp + 0xf0]
mov edx, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x28]
mov dword [esi + 0x11c], eax
mov eax, dword [ebx + 0x160]
mov dword [esi + 0x120], edx
mov edx, dword [esp + 0x9c]
mov dword [esi + 0x178], eax
mov esi, dword [ebx + 0x24]
xor eax, eax
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0xa0]
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x24]
add edi, dword [esi + 0x110]
test ebp, ebp
mov dword [edx], edi
jne 0xb7e820
mov edi, dword [esi + 0x130]
mov dword [edx + 0x194], edi
mov edi, dword [esi + 0x114]
add edi, ecx
test ecx, ecx
mov dword [edx + 4], edi
jne 0xb7e830
mov edi, dword [esi + 0x134]
mov ebp, dword [esp + 0x88]
mov dword [edx + 0x198], edi
test ebp, ebp
je 0xb7d259
mov ebp, dword [edx]
mov dword [edx + 0x1b8], edi
mov dword [edx + 0x124], ebp
shr ebp, 0x1f
mov dword [esp + 0x2c], ebp
mov ebp, dword [edx]
add ebp, dword [esp + 0x2c]
sar ebp, 1
mov dword [edx], ebp
mov ebp, dword [edx + 0x194]
mov dword [edx + 0x1b4], ebp
shr ebp, 0x1f
mov dword [esp + 0x2c], ebp
mov ebp, dword [edx + 0x194]
add ebp, dword [esp + 0x2c]
sar ebp, 1
mov dword [edx + 0x194], ebp
mov ebp, dword [edx + 4]
mov dword [edx + 0x128], ebp
shr ebp, 0x1f
mov dword [esp + 0x2c], ebp
mov ebp, dword [edx + 4]
add ebp, dword [esp + 0x2c]
sar ebp, 1
mov dword [edx + 4], ebp
mov ebp, edi
shr ebp, 0x1f
add edi, ebp
sar edi, 1
mov dword [edx + 0x198], edi
cmp dword [esp + 0x28], 2
jne 0xb7ef30
add eax, 8
add esi, 8
add edx, 8
cmp eax, 0x20
jne 0xb7d19c
jmp 0xb7d0f0
mov ebp, dword [esp + 0xec]
mov ecx, dword [ebp + 0x10]
jmp 0xb7cb98
mov ebp, dword [esp + 0xe8]
mov ecx, dword [ebp + 0x10]
jmp 0xb7cb98
mov ebx, dword [esp + 0xec]
mov esi, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf0]
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x2c]
mov dword [esi], eax
mov dword [esi + 4], edx
mov esi, ebx
mov ebx, dword [ebx + 0x30]
mov dword [ebp + 0x194], ecx
mov ecx, dword [esp + 0x88]
mov dword [ebp + 0x198], ebx
test ecx, ecx
jne 0xb7e750
mov esi, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf8]
mov ebx, dword [esp + 0xfc]
mov ecx, dword [esi]
sub ecx, dword [ebp]
mov dword [esi + 0x10c], ecx
mov ecx, dword [esi + 4]
sub ecx, dword [ebp + 4]
mov dword [esi + 0x110], ecx
mov ecx, dword [esi + 0x194]
sub ecx, dword [ebx]
mov dword [esi + 0x104], ecx
mov ecx, dword [esi + 0x198]
sub ecx, dword [ebx + 4]
mov dword [esi + 0x108], ecx
mov esi, dword [esp + 0xec]
mov dword [ebp], eax
mov dword [ebp + 4], edx
mov eax, dword [esi + 0x2c]
mov edx, dword [esi + 0x30]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebx, dword [esp + 0xec]
mov esi, dword [esp + 0xf0]
mov eax, dword [ebx + 0x160]
mov dword [esi + 0x178], eax
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [esp + 0x88]
test ebx, ebx
je 0xb7e6f6
mov ebx, dword [esp + 0xe4]
mov esi, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf0]
mov eax, dword [ebx + 0x4c]
sub eax, dword [esi]
mov edx, dword [ebx + 0x50]
mov dword [ebp + 0x104], eax
mov eax, dword [ebx + 0x50]
sub eax, dword [esi + 4]
mov dword [ebp + 0x108], eax
mov eax, dword [ebx + 0x4c]
mov dword [ebp + 0x1b8], edx
mov dword [ebp + 0x1b4], eax
mov dword [esi], eax
mov dword [esi + 4], edx
mov ebp, dword [esp + 0xe4]
mov ebx, dword [esp + 0xf0]
mov esi, dword [esp + 0xe8]
mov eax, dword [ebp + 0x24]
mov edx, dword [ebp + 0x28]
mov dword [ebx + 0x194], eax
mov eax, dword [ebp + 0x160]
mov dword [ebx + 0x198], edx
mov edx, dword [esi + 0x28]
mov dword [ebx + 0x178], eax
mov eax, dword [esi + 0x24]
mov dword [ebx + 4], edx
mov dword [ebx], eax
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x90]
mov edx, dword [esp + 0x6c]
and eax, 3
mov edi, dword [esp + 0xa4]
sar ecx, 1
mov ebx, dword [esp + 0xa8]
add ecx, dword [eax*4 + 0x1264780]
mov eax, dword [esp + 0x90]
sar ebp, 1
sar edx, 1
and eax, 3
add ebp, dword [eax*4 + 0x1264780]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x6c], edx
and eax, 3
mov edx, dword [eax*4 + 0x1264780]
add dword [esp + 0x6c], edx
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x40]
and eax, 3
sar edx, 1
mov dword [esp + 0x40], edx
mov edx, dword [eax*4 + 0x1264780]
add dword [esp + 0x40], edx
mov edx, dword [esi + 0xc4]
mov eax, dword [esi + 0x94]
mov dword [esp + 0x38], edx
mov edx, ebp
and ebp, 1
sar edx, 1
mov dword [esp + 0x5c], edx
mov edx, ecx
and ecx, 1
sar edx, 1
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0xd0]
lea ebp, [ebp + ecx*2]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x30], ebp
shr eax, 1
imul edx, eax
add edx, dword [esp + 0x60]
add edx, dword [esi + 0xb0]
cmp ebp, 1
je 0xb7f083
cmp ebp, 2
je 0xb7f061
test ebp, ebp
je 0xb7ec28
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp + 0xc], ecx
mov dword [esp], ebp
call dword [0x1abadec]
mov eax, dword [esi + 0x94]
mov ebp, dword [esi + 0xc4]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0xd0]
shr eax, 1
mov ecx, dword [esp + 0x40]
add ebp, 0x10
mov dword [esp + 0x48], ebp
mov ebp, dword [esp + 0x6c]
mov edx, dword [esp + 0x6c]
sar ecx, 1
mov dword [esp + 0x70], ecx
imul ecx, eax
sar ebp, 1
and edx, 1
mov dword [esp + 0x74], ebp
add ecx, ebp
mov ebp, dword [esp + 0x40]
add ecx, dword [esi + 0xf4]
and ebp, 1
lea ebp, [ebp + edx*2]
cmp ebp, 1
mov dword [esp + 0x3c], ebp
je 0xb7f00d
cmp ebp, 2
je 0xb7efe3
test ebp, ebp
jne 0xb7f037
mov dword [esp + 0x48], ecx
mov dword [esp + 0x10], eax
mov ebp, dword [esp + 0x48]
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esi + 0xbc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [0x1abada0]
mov edx, dword [esi + 0x1a4]
mov ecx, dword [esi + 0x19c]
mov ebp, dword [esi + 0x188]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x40], edx
mov edx, dword [esi + 0x16c]
mov dword [esp + 0x90], ecx
mov ecx, dword [esi + 0x180]
mov dword [esp + 0x38], ebp
mov ebp, dword [esi + 0x168]
mov dword [esp + 0x34], edx
mov edx, dword [esi + 0x158]
mov dword [esp + 0x84], ecx
mov ecx, dword [esi + 0x154]
mov dword [esp + 0x8c], ebp
mov ebp, dword [esi + 0x15c]
mov dword [esp], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x6c], ecx
call dword [0x1abad40]
test ebp, ebp
je 0xb7ed6a
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [0x1abad84]
cmp eax, 2
jg 0xb7ec70
mov edx, dword [esp + 0x28]
cmp word [edx + 0x82], 0
jne 0xb7ec70
cmp word [edx + 0x90], 0
jne 0xb7ec70
cmp word [edx + 0x80], 0
jne 0xb7ec70
mov eax, dword [esp + 0x40]
test eax, eax
jne 0xb7f3f5
mov ebp, dword [esp + 0x28]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x1265ea0
mov dword [esp], ebp
call dword [0x1abad74]
xor edx, edx
nop
lea esi, [esi]
mov ecx, dword [esp + 0x80]
imul eax, dword [esp + 0x84]
add ecx, edx
xor edx, edx
div dword [esp + 0x38]
add eax, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x10]
cmp dword [esp + 0x38], eax
jge 0xb7d8d0
mov eax, dword [esi + 0xd0]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esi + 0x94]
mov ebp, dword [esi + 0xc4]
shr eax, 1
imul edx, eax
add edx, dword [esp + 0x60]
add edx, dword [esi + 0xb4]
cmp dword [esp + 0x30], 1
je 0xb7f2a8
cmp dword [esp + 0x30], 2
je 0xb7f276
cmp dword [esp + 0x30], 0
jne 0xb7f331
mov dword [esp + 0x30], ebp
mov ebp, edx
mov edx, dword [esp + 0x30]
add edx, 0x10
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x70]
imul edx, eax
add edx, dword [esp + 0x74]
add edx, dword [esi + 0xf8]
cmp dword [esp + 0x3c], 1
je 0xb7f30b
cmp dword [esp + 0x3c], 2
je 0xb7f2e5
cmp dword [esp + 0x3c], 0
jne 0xb7f2bf
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x30]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esi + 0xc0]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [0x1abada0]
mov edx, dword [esi + 0x1a4]
mov ecx, dword [esi + 0x1a0]
mov ebp, dword [esi + 0x188]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x6c], edx
mov edx, dword [esi + 0x16c]
mov dword [esp + 0x60], ecx
mov ecx, dword [esi + 0x184]
mov dword [esp + 0x30], ebp
mov ebp, dword [esi + 0x168]
mov dword [esp + 0x3c], edx
mov edx, dword [esi + 0x158]
mov dword [esp + 0x40], ecx
mov ecx, dword [esi + 0x154]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esi + 0x15c]
mov dword [esp], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x48], ecx
call dword [0x1abad40]
test ebp, ebp
je 0xb7f0a5
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [0x1abad84]
cmp eax, 2
jg 0xb7ee3f
mov edx, dword [esp + 0x28]
cmp word [edx + 0x82], 0
jne 0xb7ee3f
cmp word [edx + 0x90], 0
jne 0xb7ee3f
cmp word [edx + 0x80], 0
jne 0xb7ee3f
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0xb7f4f1
mov ebp, dword [esp + 0x28]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x1265ea0
mov dword [esp], ebp
call dword [0x1abad74]
xor edx, edx
mov ecx, dword [esp + 0x38]
imul eax, dword [esp + 0x40]
add ecx, edx
xor edx, edx
div dword [esp + 0x30]
lea edx, [ecx + eax]
mov eax, dword [esi + 0x10]
cmp edx, eax
jge 0xb7d8d0
mov ebp, dword [esp + 0xac]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x50]
mov dword [esi + 0x10], edx
mov dword [ebp], eax
mov eax, edx
mov dword [ebp + 4], ecx
mov ebp, dword [esp + 0x54]
mov dword [esi + 0x84], 1
mov dword [esi + 0x160], ebp
lea esi, [esi]
cmp eax, dword [esp + 0x24]
jge 0xb7d8e5
mov ebp, dword [esp + edi*4 + 0xb0]
mov dword [esp + 0x24], eax
mov dword [esp + 0x68], ebp
add edi, 1
cmp edi, dword [esp + 0x4c]
je 0xb7d0b0
mov eax, dword [esp + edi*4 + 0xb0]
cmp eax, 2
jne 0xb7cc85
mov ebp, dword [esp + 0xe4]
mov edx, dword [ebp + 0x10]
jmp 0xb7cc99
mov edx, dword [esi + 0x10]
jmp 0xb7cc99
mov ebp, dword [esp + 0xe8]
mov edx, dword [ebp + 0x10]
jmp 0xb7cc99
mov ebp, dword [esp + 0xe4]
mov edx, dword [esp + 0x110]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x108]
mov eax, dword [ebp + 4]
mov dword [esp], eax
mov eax, dword [esp + 0x10c]
mov ecx, dword [ebp]
call fcn.00b7bbe0
jmp 0xb7d8d0
mov ebp, dword [esp + 0x108]
mov edx, dword [ebp]
mov eax, dword [ebp + 4]
mov ebp, dword [esp + 0x24]
sub edx, dword [esp + 0x94]
mov dword [esi + 0x10], ebp
mov ebp, dword [esi + 0xd8]
mov dword [esp + 0x30], ebp
add ebp, 1
mov dword [esp + 0x40], ebp
mov ebp, dword [esi + 0xd4]
mov dword [esp + 0x3c], ebp
add ebp, 4
mov dword [esp + 0x28], ebp
movzx ecx, byte [esp + 0x28]
mov ebp, 1
shl ebp, cl
mov dword [esp + 0x2c], ebp
mov ecx, dword [esp + 0x2c]
sub ebp, 1
neg ecx
mov dword [esp + 0x2c], ecx
movzx ecx, byte [esp + 0x40]
shl edx, cl
cmp edx, ebp
cmovg edx, ebp
sub eax, dword [esp + 0x98]
mov dword [esp + 0x38], edx
mov dword [esi], edx
mov edx, dword [esp + 0x78]
shl eax, cl
cmp eax, ebp
cmovle ebp, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], ebp
shl edx, cl
mov dword [esi + 8], ebp
mov ebp, dword [esp + 0x7c]
cmp edx, dword [esp + 0x2c]
cmovl edx, dword [esp + 0x2c]
mov dword [esi + 0xdc], eax
shl ebp, cl
cmp ebp, dword [esp + 0x2c]
cmovl ebp, dword [esp + 0x2c]
test eax, eax
mov dword [esi + 4], edx
mov dword [esi + 0xc], ebp
jne 0xb7df40
mov ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x28]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x50], eax
mov ecx, dword [esi + 0x154]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
sub ecx, 0xffffff80
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x44]
cmp dword [esp + 0x38], ecx
jl 0xb7d8d0
cmp edx, ecx
jg 0xb7d8d0
mov edx, dword [esp + 0x50]
cmp dword [esp + 0x34], edx
jl 0xb7d8d0
cmp ebp, edx
jg 0xb7d8d0
mov ebp, dword [esp + 0x30]
test ebp, ebp
je 0xb7ea30
mov ebp, dword [esi + 0x54]
mov edx, dword [esi + 0x58]
mov dword [esp], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x34], edx
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
lea ebp, [esi + 0x4c]
call fcn.00b5e290
mov edx, dword [esp + 0x34]
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 1
mov dword [esp + 4], edx
mov dword [esp], ebp
mov dword [esp + 0x74], eax
call fcn.00b5e290
mov ecx, dword [esi + 0xdc]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x44]
shr eax, 0x1f
add eax, dword [esp + 0x44]
sar eax, 1
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x50]
shr eax, 0x1f
add eax, dword [esp + 0x50]
sar eax, 1
mov dword [esp + 0x90], eax
mov eax, ebp
shr eax, 0x1f
add eax, ebp
mov ebp, dword [esi + 0xd8]
sar eax, 1
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
xor ecx, ebp
mov ebp, dword [esi + 0xd0]
mov dword [esp + 0x38], ecx
shr eax, 0x1f
add eax, dword [esp + 0x34]
sar eax, 1
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0xd4]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x10]
movzx ecx, byte [esp + 0x38]
mov edx, dword [esp + 0x44]
shl edx, cl
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x50]
shl edx, cl
mov ecx, 0
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x48]
sub edx, dword [esi + 0x98]
cmovne ecx, dword [esp + 0x3c]
mov dword [esp + 0x5c], ecx
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub ecx, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x58], ecx
sub edx, 1
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x30]
movzx ecx, byte [esp + 0x48]
sar dword [esp + 0x58], cl
mov ecx, 0
sub edx, dword [esi + 0x9c]
cmovne ecx, dword [esp + 0x3c]
mov dword [esp + 0x60], ecx
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub ecx, edx
mov edx, ecx
movzx ecx, byte [esp + 0x48]
sar edx, cl
movzx ecx, byte [esp + 0x38]
mov edx, dword [edx*4 + 0x1265e00]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x54]
shl edx, cl
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x34]
shl edx, cl
mov ecx, 0
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x54]
sub edx, dword [esi + 0xfc]
cmovne ecx, dword [esp + 0x3c]
mov dword [esp + 0x54], ecx
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub ecx, edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x38], ecx
movzx ecx, byte [esp + 0x48]
sar dword [esp + 0x38], cl
mov ecx, 0
sub edx, dword [esi + 0x100]
cmovne ecx, dword [esp + 0x3c]
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x3c], ecx
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub ecx, edx
mov edx, ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x58], 0x70
mov ecx, dword [ecx*4 + 0x1265e00]
add dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx*4 + 0x1265e00]
add dword [esp + 0x30], ecx
movzx ecx, byte [esp + 0x48]
sar edx, cl
mov ecx, dword [edx*4 + 0x1265e00]
add dword [esp + 0x30], ecx
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x3c]
add edx, dword [esp + 0x5c]
add edx, dword [esp + 0x60]
add edx, dword [esp + 0x54]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x54], 0
add ecx, edx
shl ecx, 4
add ecx, 0x20
mov dword [esp + 0x38], ecx
mov dword [esp + 0x30], 0
cmp dword [esp + 0x38], eax
jge 0xb7f189
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x10], ebp
shr eax, 1
imul eax, ebp
and edx, 1
add eax, edx
mov edx, dword [esp + 0x80]
shl eax, 3
add edx, eax
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x74]
add edx, eax
mov dword [esp + 8], edx
add eax, dword [esi + 0xb8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [0x1abada0]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esi + 0x1a4]
mov edx, dword [esi + 0x154]
mov ecx, dword [esp + 0x28]
mov ebx, dword [ebx + 0x18c]
mov dword [esp + 0x60], ebp
mov ebp, dword [esi + 0x188]
mov edi, dword [esi + 0x16c]
mov dword [esp + 0x48], edx
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x34], ebp
mov ebp, dword [esi + 0x168]
mov ebx, dword [ebx + 0x170]
mov dword [esp + 0x70], ebp
mov ebp, dword [esi + 0x158]
mov dword [esp + 0x5c], ebx
mov ebx, dword [esi + 0x15c]
mov dword [esp], ecx
call dword [0x1abad40]
mov dword [esp + 0xc], edi
test ebx, ebx
mov dword [esp + 8], ebp
je 0xb7e840
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [0x1abad84]
cmp eax, 2
jg 0xb7ddb4
mov edx, dword [esp + 0x2c]
cmp word [edx + 2], 0
jne 0xb7ddb4
cmp word [edx + 0x10], 0
jne 0xb7ddb4
cmp word [edx], 0
je 0xb7ebae
mov edx, dword [esp + 0x48]
mov ecx, 5
mov eax, 1
sub ecx, dword [esp + 0x30]
add edx, 0x100
shl eax, cl
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x70]
or dword [esp + 0x54], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00b448a0
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x48]
mov dword [esp + 0xc], edi
mov dword [esp], ebp
shl eax, 4
add eax, dword [esp + 0x58]
test ebx, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x58], eax
mov dword [esp + 4], ebx
je 0xb7e8f7
call dword [0x1abad88]
mov ebx, dword [esp + 0x60]
test ebx, ebx
je 0xb7e909
mov ebx, dword [esp + 0x28]
mov dword [esp], ebx
call dword [0x1abad48]
mov ebp, dword [esp + 0x84]
mov ecx, 0x10
mov edx, 0x8000
add ebp, ebp
imul ebp, eax
mov eax, 0x8000
jmp 0xb7de52
or eax, edx
mov edi, eax
mov ebx, eax
imul edi, eax
xor ebx, edx
cmp ebp, edi
cmovb eax, ebx
shr edx, 1
sub ecx, 1
jne 0xb7de50
mov ebp, dword [esp + 0x48]
add eax, 0x30
mov ebx, dword [esp + 0x28]
shr eax, 6
movzx eax, ax
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [0x1abad5c]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x58], 0
lea eax, [eax + eax*4]
shr eax, 7
imul eax, dword [esp + 0x5c]
xor edx, edx
add ecx, dword [esp + 0x38]
add dword [esp + 0x30], 1
add dword [esp + 0x3c], 4
div dword [esp + 0x34]
add eax, ecx
cmp dword [esp + 0x30], 4
mov dword [esp + 0x38], eax
je 0xb7d410
mov ebp, dword [esi + 0xd0]
mov eax, dword [esi + 0x10]
jmp 0xb7dcb7
mov ebp, dword [esp + 0xe8]
mov edx, dword [esp + 0x110]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x108]
mov eax, dword [ebp + 4]
mov dword [esp], eax
mov eax, dword [esp + 0x10c]
mov ecx, dword [ebp]
call fcn.00b7bbe0
add eax, 0x10
jmp 0xb7d8d0
mov ecx, dword [ebx + 0x150]
mov edi, edx
mov ebp, dword [esp + 0x2c]
sub edi, dword [ecx + ebp*8 + 4]
jmp 0xb7cdb9
mov edx, dword [ebx + 0x150]
mov esi, eax
mov ebp, dword [esp + 0x2c]
sub esi, dword [edx + ebp*8]
jmp 0xb7cd99
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x50]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x50], eax
jmp 0xb7da35
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [0x1abad90]
jmp 0xb7cf58
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x28]
mov dword [esp + 8], 0x10
mov dword [esp + 4], ebp
mov dword [esp], esi
call dword [0x1abad74]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x60], 0
jmp 0xb7d05d
call dword [0x1abad8c]
jmp 0xb7cfdc
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x50]
and eax, 0xf
mov edi, dword [esp + 0x90]
sar edx, 3
mov esi, dword [esp + 0xa4]
add edx, dword [eax*4 + 0x12647c0]
mov eax, dword [esp + 0x74]
sar ebp, 3
sar ecx, 3
and eax, 0xf
add ebp, dword [eax*4 + 0x12647c0]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x50], ecx
and eax, 0xf
mov ecx, dword [eax*4 + 0x12647c0]
add dword [esp + 0x50], ecx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x54]
and eax, 0xf
sar ecx, 3
mov dword [esp + 0x54], ecx
mov ecx, dword [eax*4 + 0x12647c0]
add dword [esp + 0x54], ecx
mov ecx, dword [ebx + 0xc4]
mov eax, dword [ebx + 0x94]
mov dword [esp + 0x34], ecx
mov ecx, ebp
and ebp, 1
sar ecx, 1
mov dword [esp + 0x58], ecx
mov ecx, edx
and edx, 1
sar ecx, 1
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0xd0]
lea ebp, [ebp + edx*2]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x2c], ebp
shr eax, 1
imul ecx, eax
add ecx, dword [esp + 0x40]
add ecx, dword [ebx + 0xb0]
cmp ebp, 1
je 0xb7e7e1
cmp ebp, 2
je 0xb7eb8c
test ebp, ebp
jne 0xb7eb6a
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x54]
add ebp, 0x10
mov dword [esp + 0x74], ebp
mov ebp, dword [esp + 0x50]
sar ecx, 1
mov edx, ecx
imul edx, eax
sar ebp, 1
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x70], ebp
add edx, ebp
mov ebp, dword [esp + 0x54]
add edx, dword [ebx + 0xf4]
and ecx, 1
and ebp, 1
lea ecx, [ebp + ecx*2]
cmp ecx, 1
mov dword [esp + 0x44], ecx
je 0xb7eb40
cmp ecx, 2
je 0xb7eb12
test ecx, ecx
jne 0xb7eae8
mov dword [esp + 0x74], edx
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x74]
mov ebp, dword [esp + 0x28]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0xbc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [0x1abada0]
mov edx, dword [ebx + 0x1a4]
mov ecx, dword [ebx + 0x19c]
mov ebp, dword [ebx + 0x188]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x74], edx
mov edx, dword [ebx + 0x16c]
mov dword [esp + 0x90], ecx
mov ecx, dword [ebx + 0x180]
mov dword [esp + 0x34], ebp
mov ebp, dword [ebx + 0x168]
mov dword [esp + 0x50], edx
mov edx, dword [ebx + 0x158]
mov dword [esp + 0x84], ecx
mov ecx, dword [ebx + 0x154]
mov dword [esp + 0x8c], ebp
mov ebp, dword [ebx + 0x15c]
mov dword [esp], eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x48], ecx
call dword [0x1abad40]
test ebp, ebp
je 0xb7e950
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [0x1abad84]
cmp eax, 2
jg 0xb7e1d7
mov edx, dword [esp + 0x28]
cmp word [edx + 0x82], 0
jne 0xb7e1d7
cmp word [edx + 0x90], 0
je 0xb7ebde
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x8c]
or dword [esp + 0x6c], 2
add ecx, 0x100
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00b448a0
shl eax, 4
add eax, dword [esp + 0x60]
test ebp, ebp
mov dword [esp + 0x60], eax
je 0xb7e980
mov ebp, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 4], ebp
mov dword [esp], edx
call dword [0x1abad88]
mov eax, dword [esp + 0x74]
test eax, eax
je 0xb7e9b1
mov ebp, dword [esp + 0x28]
mov dword [esp], ebp
call dword [0x1abad48]
mov edx, dword [esp + 0x90]
mov ecx, 0x10
mov dword [esp + 0x54], edi
add edx, edx
imul eax, edx
mov edx, 0x8000
mov dword [esp + 0x50], eax
mov eax, 0x8000
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x50], ebx
jmp 0xb7e282
or eax, edx
mov edi, eax
mov ebx, eax
imul edi, eax
xor ebx, edx
cmp ebp, edi
cmovb eax, ebx
shr edx, 1
sub ecx, 1
jne 0xb7e280
mov ecx, dword [esp + 0x48]
add eax, 0x30
mov ebp, dword [esp + 0x28]
shr eax, 6
movzx eax, ax
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], ebp
call dword [0x1abad5c]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x60], 0
lea eax, [eax + eax*4]
shr eax, 7
mov ecx, dword [esp + 0x80]
imul eax, dword [esp + 0x84]
add ecx, edx
xor edx, edx
div dword [esp + 0x34]
add eax, ecx
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x10]
cmp dword [esp + 0x34], eax
jge 0xb7d8d0
mov eax, dword [ebx + 0x94]
mov edx, dword [esp + 0x58]
mov ebp, dword [ebx + 0xc4]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0xd0]
shr eax, 1
imul edx, eax
add edx, dword [esp + 0x40]
add edx, dword [ebx + 0xb4]
cmp dword [esp + 0x2c], 1
je 0xb7f0f9
cmp dword [esp + 0x2c], 2
je 0xb7ec35
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0xb7f16b
mov ecx, ebp
mov ebp, edx
mov edx, dword [esp + 0x5c]
add ecx, 0x10
mov dword [esp + 0x2c], ecx
imul edx, eax
add edx, dword [esp + 0x70]
add edx, dword [ebx + 0xf8]
cmp dword [esp + 0x44], 1
je 0xb7f141
cmp dword [esp + 0x44], 2
je 0xb7f117
mov ecx, dword [esp + 0x44]
test ecx, ecx
jne 0xb7f0cf
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov eax, dword [ebx + 0xc0]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [0x1abada0]
mov edx, dword [ebx + 0x1a4]
mov ecx, dword [ebx + 0x1a0]
mov ebp, dword [ebx + 0x188]
mov dword [esp + 0x48], edx
mov edx, dword [ebx + 0x184]
mov dword [esp + 0x5c], ecx
mov ecx, dword [ebx + 0x168]
mov dword [esp + 0x2c], ebp
mov ebp, dword [ebx + 0x16c]
mov dword [esp + 0x58], edx
mov edx, dword [ebx + 0x15c]
mov dword [esp + 0x40], ecx
mov ecx, dword [ebx + 0x158]
mov dword [esp + 0x50], edx
mov edx, dword [ebx + 0x154]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x54], edx
mov dword [esp], ecx
call dword [0x1abad40]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xc], ebp
test eax, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
je 0xb7edec
call dword [0x1abad84]
cmp eax, 2
jg 0xb7e470
mov edx, dword [esp + 0x28]
cmp word [edx + 0x82], 0
jne 0xb7e470
cmp word [edx + 0x90], 0
jne 0xb7e470
movzx eax, word [edx + 0x80]
test ax, ax
jle 0xb7f3bb
nop
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x40]
or dword [esp + 0x6c], 1
add ecx, 0x100
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00b448a0
mov dword [esp + 0xc], ebp
shl eax, 4
add eax, dword [esp + 0x60]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x50]
test eax, eax
je 0xb7ee1d
mov ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x54]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x30]
mov dword [esp], edx
mov dword [esp + 4], ebp
call dword [0x1abad88]
mov eax, dword [esp + 0x48]
test eax, eax
je 0xb7edf7
mov ebp, dword [esp + 0x28]
mov dword [esp], ebp
mov ebp, 0x10
call dword [0x1abad48]
mov ecx, dword [esp + 0x5c]
mov edx, 0x8000
mov dword [esp + 0x30], edi
mov dword [esp + 0x44], ebx
add ecx, ecx
imul ecx, eax
mov eax, 0x8000
mov edi, ecx
jmp 0xb7e512
or eax, edx
mov ebx, eax
mov ecx, eax
imul ebx, eax
xor ecx, edx
cmp edi, ebx
cmovb eax, ecx
shr edx, 1
sub ebp, 1
jne 0xb7e510
mov edx, dword [esp + 0x54]
add eax, 0x30
mov ebp, dword [esp + 0x28]
shr eax, 6
movzx eax, ax
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [0x1abad5c]
mov edx, dword [esp + 0x40]
lea eax, [eax + eax*4]
shr eax, 7
mov ecx, dword [esp + 0x34]
imul eax, dword [esp + 0x58]
add ecx, edx
xor edx, edx
div dword [esp + 0x2c]
add eax, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x28], eax
test ecx, ecx
jne 0xb7e58c
mov edx, dword [esp + 0x38]
test edx, edx
jne 0xb7e58c
mov ebp, dword [esp + 0x3c]
mov edx, eax
test ebp, ebp
je 0xb7e5e4
mov eax, dword [esp + 0x3c]
xor edx, edx
mov ecx, dword [esp + 0x38]
test eax, eax
setne dl
xor eax, eax
test ecx, ecx
mov ecx, dword [esp + 0x38]
setne al
add eax, edx
mov edx, dword [esp + 0x38]
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
mov ecx, 0x40
mov ebp, ecx
sub ebp, edx
mov edx, dword [esp + 0x3c]
add eax, dword [ebp*4 + 0x1265d00]
mov ebp, dword [esp + 0x3c]
sar ebp, 0x1f
xor edx, ebp
sub edx, ebp
sub ecx, edx
mov edx, dword [esp + 0x28]
add eax, dword [ecx*4 + 0x1265d00]
shl eax, 4
add edx, eax
mov eax, dword [ebx + 0x10]
cmp eax, edx
jle 0xb7d8d0
mov ebp, dword [esp + 0x38]
mov eax, edx
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x84], 0xff
mov dword [ebx + 0x24], ebp
mov ebp, dword [esp + 0x3c]
mov dword [ebx + 0x28], ebp
mov ebp, dword [esp + 0x6c]
mov dword [ebx + 0x160], ebp
jmp 0xb7d8d0
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add dword [esp + 0x70], ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sar ecx, 1
add dword [esp + 0x74], ecx
mov ecx, esi
shr ecx, 0x1f
add ecx, esi
sar ecx, 1
add dword [esp + 0x50], ecx
mov ecx, edi
shr ecx, 0x1f
add ecx, edi
sar ecx, 1
add dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], ecx
mov dword [esp], eax
call fcn.00b5dfb0
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 4], edi
mov dword [esp], esi
mov edx, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], edx
mov dword [esp + 8], eax
call fcn.00b5dfb0
mov ecx, dword [ebx + 0xd0]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x34], ecx
jmp 0xb7cea0
movzx eax, word [edx]
test ax, ax
jg 0xb7cf73
cmp ax, 0xffff
jl 0xb7cf73
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0xb7f34b
mov ebp, dword [esp + 0x28]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x1265e20
mov dword [esp], ebp
call dword [0x1abad74]
xor ecx, ecx
jmp 0xb7d05d
mov esi, dword [esp + 0xe4]
mov ebp, dword [esp + 0xfc]
mov ebx, dword [esp + 0xf0]
mov eax, dword [esi + 0x24]
sub eax, dword [ebp]
mov edx, dword [esi + 0x28]
mov dword [ebx + 0x104], eax
mov eax, dword [esi + 0x28]
sub eax, dword [ebp + 4]
mov dword [ebx + 0x108], eax
mov eax, dword [esi + 0x24]
mov dword [ebp + 4], edx
mov dword [ebp], eax
jmp 0xb7d3c2
mov esi, dword [esp + 0xf4]
mov esi, dword [esi + 0xec]
mov dword [esp + 0x28], esi
jmp 0xb7d15d
mov eax, dword [esi + 0x4c]
mov edx, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
mov ebx, dword [esi + 0x58]
mov dword [ebp + 0x124], eax
mov esi, dword [esp + 0xfc]
mov dword [ebp + 0x128], edx
mov dword [ebp + 0x1b4], ecx
mov ecx, dword [ebp + 0x124]
mov dword [ebp + 0x1b8], ebx
mov ebp, dword [esp + 0xf8]
mov ebx, dword [esp + 0xf0]
sub ecx, dword [ebp]
mov dword [ebx + 0x10c], ecx
mov ecx, dword [ebx + 0x128]
sub ecx, dword [ebp + 4]
mov dword [ebx + 0x110], ecx
mov ecx, dword [ebx + 0x1b4]
sub ecx, dword [esi]
mov dword [ebx + 0x104], ecx
mov ecx, dword [ebx + 0x1b8]
sub ecx, dword [esi + 4]
mov dword [ebx + 0x108], ecx
mov ebx, dword [esp + 0xec]
mov dword [ebp], eax
mov dword [ebp + 4], edx
mov eax, dword [ebx + 0x54]
mov edx, dword [ebx + 0x58]
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0xb7d344
mov ebp, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebp
mov dword [esp], eax
call dword [0x1abadc8]
mov edx, dword [ebx + 0x94]
mov eax, dword [ebx + 0xd0]
mov ebp, dword [ebx + 0xc4]
mov dword [esp + 0x48], edx
shr eax, 1
jmp 0xb7e096
mov ebp, dword [ebx + 0x150]
sub edi, dword [ebp + eax]
jmp 0xb7d1ba
mov ebp, dword [ebx + 0x150]
sub edi, dword [ebp + eax + 4]
jmp 0xb7d1d9
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [0x1abad90]
jmp 0xb7dd93
mov esi, dword [esp + 0x88]
test esi, esi
je 0xb7e9e0
mov esi, dword [esp + 0xe8]
mov ebp, dword [esp + 0xf8]
mov ebx, dword [esp + 0xf0]
mov eax, dword [esi + 0x4c]
sub eax, dword [ebp]
mov edx, dword [esi + 0x50]
mov dword [ebx + 0x104], eax
mov eax, dword [esi + 0x50]
sub eax, dword [ebp + 4]
mov dword [ebx + 0x108], eax
mov eax, dword [esi + 0x4c]
mov dword [ebx + 0x128], edx
mov dword [ebx + 0x124], eax
mov dword [ebp], eax
mov dword [ebp + 4], edx
mov ebx, dword [esp + 0xe8]
mov esi, dword [esp + 0xf0]
mov ebp, dword [esp + 0xe4]
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
mov dword [esi], eax
mov eax, dword [ebx + 0x160]
mov dword [esi + 4], edx
mov edx, dword [ebp + 0x28]
mov dword [esi + 0x178], eax
mov eax, dword [ebp + 0x24]
mov dword [esi + 0x198], edx
mov dword [esi + 0x194], eax
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
ret
call dword [0x1abad8c]
mov ebx, dword [esp + 0x60]
test ebx, ebx
jne 0xb7de26
mov ebp, dword [esp + 0x48]
mov ebx, dword [esp + 0x28]
mov dword [esp + 8], 0x10
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [0x1abad74]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x58], 0
jmp 0xb7de9b
mov edi, dword [esp + 0x90]
mov esi, dword [esp + 0xa4]
mov eax, dword [ebx + 0x10]
jmp 0xb7d8d0
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x30]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [0x1abad90]
jmp 0xb7e1b6
mov ebp, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x48]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0xc], ecx
mov dword [esp], edx
mov dword [esp + 4], ebp
call dword [0x1abad8c]
mov eax, dword [esp + 0x74]
test eax, eax
jne 0xb7e245
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0x28]
mov dword [esp + 8], 0x10
mov dword [esp + 4], edx
mov dword [esp], ebp
call dword [0x1abad74]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x60], 0
jmp 0xb7e2d3
mov ebp, dword [esp + 0xe8]
mov ebx, dword [esp + 0xf8]
mov esi, dword [esp + 0xf0]
mov eax, dword [ebp + 0x24]
sub eax, dword [ebx]
mov edx, dword [ebp + 0x28]
mov dword [esi + 0x104], eax
mov eax, dword [ebp + 0x28]
sub eax, dword [ebx + 4]
mov dword [esi + 0x108], eax
mov eax, dword [ebp + 0x24]
mov dword [ebx + 4], edx
mov dword [ebx], eax
jmp 0xb7e8ae
test ebp, ebp
je 0xb7d11b
jmp 0xb7d0f0
mov edx, dword [esi + 0x2c]
mov eax, dword [esp + 0x50]
mov ebp, dword [esi + 0x30]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x44]
and eax, 1
mov dword [esp + 0x34], ebp
mov ebp, dword [esi + 0xd0]
sar ecx, 1
and edx, 1
add edx, edx
or edx, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x38], 0
sar eax, 1
imul eax, ebp
add ecx, eax
mov eax, dword [esi + edx*4 + 0xa0]
mov edx, dword [esp + 0x54]
add ecx, eax
mov eax, dword [esp + 0x34]
and edx, 1
add edx, edx
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x54]
and eax, 1
or edx, eax
mov eax, dword [esp + 0x34]
sar ecx, 1
sar eax, 1
imul eax, ebp
add ecx, eax
mov eax, dword [esi + edx*4 + 0xe4]
lea edx, [esi + 0x24]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x34]
add ecx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x8c], edx
jmp 0xb7db4c
mov ecx, dword [esp + 0x48]
mov ebp, dword [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp + 0xc], ecx
mov dword [esp], ebp
call dword [0x1abadec]
mov eax, dword [ebx + 0xd0]
shr eax, 1
jmp 0xb7e0f2
mov ecx, dword [esp + 0x48]
mov ebp, dword [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp + 0xc], ecx
mov dword [esp], ebp
call dword [0x1abadf8]
mov eax, dword [ebx + 0xd0]
shr eax, 1
jmp 0xb7e0f2
mov ebp, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], edx
mov dword [esp + 0xc], ebp
mov dword [esp], eax
call dword [0x1abadc8]
mov eax, dword [ebx + 0xd0]
shr eax, 1
jmp 0xb7e0f2
mov ebp, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebp
mov dword [esp], eax
call dword [0x1abadec]
jmp 0xb7e7fe
mov ebp, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebp
mov dword [esp], eax
call dword [0x1abadf8]
jmp 0xb7e7fe
mov ecx, dword [esp + 0x60]
test ecx, ecx
jne 0xb7f1ff
mov ebp, dword [esp + 0x28]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x1265ea0
mov dword [esp], ebp
call dword [0x1abad74]
xor ecx, ecx
jmp 0xb7de9b
movzx eax, word [edx + 0x80]
test ax, ax
jg 0xb7e1d7
cmp ax, 0xffff
jl 0xb7e1d7
mov ebp, dword [esp + 0x74]
test ebp, ebp
jne 0xb7f473
mov ebp, dword [esp + 0x28]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x1265e20
mov dword [esp], ebp
call dword [0x1abad74]
xor edx, edx
jmp 0xb7e2d3
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x38], edx
jmp 0xb7d52b
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ebp
mov dword [esp + 0xc], ecx
call dword [0x1abadf8]
mov eax, dword [ebx + 0x94]
mov ecx, dword [ebx + 0xc4]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0xd0]
shr eax, 1
jmp 0xb7e34c
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x8c]
or dword [esp + 0x54], 2
add ecx, 0x100
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00b448a0
shl eax, 4
add eax, dword [esp + 0x58]
test ebp, ebp
mov dword [esp + 0x58], eax
je 0xb7edc2
mov ebp, dword [esp + 0x34]
mov edx, dword [esp + 0x48]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 4], ebp
mov dword [esp], edx
call dword [0x1abad88]
mov edx, dword [esp + 0x40]
test edx, edx
je 0xb7ed94
mov ebp, dword [esp + 0x28]
mov dword [esp], ebp
mov ebp, 0x10
call dword [0x1abad48]
mov ecx, dword [esp + 0x90]
mov edx, 0x8000
mov dword [esp + 0x34], edi
mov dword [esp + 0x48], ebx
add ecx, ecx
imul ecx, eax
mov eax, 0x8000
mov edi, ecx
jmp 0xb7ed14
or eax, edx
mov ebx, eax
mov ecx, eax
imul ebx, eax
xor ecx, edx
cmp edi, ebx
cmovb eax, ecx
shr edx, 1
sub ebp, 1
jne 0xb7ed12
mov edx, dword [esp + 0x6c]
add eax, 0x30
mov ebp, dword [esp + 0x28]
shr eax, 6
movzx eax, ax
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [0x1abad5c]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x58], 0
lea eax, [eax + eax*4]
shr eax, 7
jmp 0xb7d6b0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [0x1abad90]
jmp 0xb7d649
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x28]
mov dword [esp + 8], 0x10
mov dword [esp + 4], edx
mov dword [esp], ebp
call dword [0x1abad74]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x58], 0
jmp 0xb7d6b0
mov ebp, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
mov dword [esp], edx
mov dword [esp + 4], ebp
call dword [0x1abad8c]
jmp 0xb7ecd2
call dword [0x1abad90]
jmp 0xb7e441
mov edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x28]
mov dword [esp + 8], 0x10
mov dword [esp + 4], edx
mov dword [esp], ebp
call dword [0x1abad74]
mov edx, dword [esp + 0x40]
jmp 0xb7e55b
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x54]
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp], edx
call dword [0x1abad8c]
jmp 0xb7e4cf
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x5c]
or dword [esp + 0x54], 1
add ecx, 0x100
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00b448a0
shl eax, 4
add eax, dword [esp + 0x58]
test ebp, ebp
mov dword [esp + 0x58], eax
je 0xb7f1c2
mov ebp, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 4], ebp
mov dword [esp], edx
call dword [0x1abad88]
mov eax, dword [esp + 0x6c]
test eax, eax
je 0xb7f19c
mov ebp, dword [esp + 0x28]
mov dword [esp], ebp
mov ebp, 0x10
call dword [0x1abad48]
mov ecx, dword [esp + 0x60]
mov edx, 0x8000
mov dword [esp + 0x2c], edi
mov dword [esp + 0x3c], ebx
add ecx, ecx
imul ecx, eax
mov eax, 0x8000
mov edi, ecx
jmp 0xb7eee2
or eax, edx
mov ebx, eax
mov ecx, eax
imul ebx, eax
xor ecx, edx
cmp edi, ebx
cmovb eax, ecx
shr edx, 1
sub ebp, 1
jne 0xb7eee0
mov edx, dword [esp + 0x48]
add eax, 0x30
mov ebp, dword [esp + 0x28]
shr eax, 6
movzx eax, ax
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x3c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [0x1abad5c]
mov edx, dword [esp + 0x58]
lea eax, [eax + eax*4]
shr eax, 7
jmp 0xb7d880
mov ebx, dword [esp + 0xf0]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], eax
mov eax, dword [ebx + 0x194]
mov dword [ebx + 0x1c], edx
mov edx, dword [ebx + 0x198]
mov dword [ebx + 0x19c], eax
mov dword [ebx + 0x1a0], edx
mov dword [ebx + 0x1a4], eax
mov dword [ebx + 0x1a8], edx
mov dword [ebx + 0x1ac], eax
mov eax, dword [ebx + 0x124]
mov dword [ebx + 0x1b0], edx
mov edx, dword [ebx + 0x128]
mov dword [ebx + 0x12c], eax
mov dword [ebx + 0x130], edx
mov dword [ebx + 0x134], eax
mov dword [ebx + 0x138], edx
mov dword [ebx + 0x13c], eax
mov eax, dword [ebx + 0x1b4]
mov dword [ebx + 0x140], edx
mov edx, dword [ebx + 0x1b8]
mov dword [ebx + 0x1bc], eax
mov dword [ebx + 0x1c0], edx
mov dword [ebx + 0x1c4], eax
mov dword [ebx + 0x1c8], edx
mov dword [ebx + 0x1cc], eax
mov dword [ebx + 0x1d0], edx
jmp 0xb7d0f0
mov ebp, dword [esp + 0x34]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebp
mov dword [esp], eax
call dword [0x1abadf8]
mov eax, dword [esi + 0xd0]
shr eax, 1
jmp 0xb7d585
mov edx, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp], ecx
call dword [0x1abadc8]
mov eax, dword [esi + 0xd0]
shr eax, 1
jmp 0xb7d585
mov edx, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp], ecx
call dword [0x1abadec]
mov eax, dword [esi + 0xd0]
shr eax, 1
jmp 0xb7d585
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp + 0xc], ecx
mov dword [esp], ebp
call dword [0x1abadf8]
jmp 0xb7d513
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp + 0xc], ecx
mov dword [esp], ebp
call dword [0x1abadc8]
jmp 0xb7d513
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [0x1abad90]
jmp 0xb7d81e
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov dword [esp + 0xc], ecx
mov dword [esp], eax
call dword [0x1abadec]
mov eax, dword [ebx + 0xd0]
shr eax, 1
jmp 0xb7e38a
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ebp
mov dword [esp + 0xc], ecx
call dword [0x1abadc8]
jmp 0xb7ec4e
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov dword [esp + 0xc], ecx
mov dword [esp], eax
call dword [0x1abadf8]
mov eax, dword [ebx + 0xd0]
shr eax, 1
jmp 0xb7e38a
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov dword [esp + 0xc], ecx
mov dword [esp], eax
call dword [0x1abadc8]
mov eax, dword [ebx + 0xd0]
shr eax, 1
jmp 0xb7e38a
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ebp
mov dword [esp + 0xc], ecx
call dword [0x1abadec]
jmp 0xb7ec4e
mov edi, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa8]
jmp 0xb7d8d0
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0x28]
mov dword [esp + 8], 0x10
mov dword [esp + 4], edx
mov dword [esp], ebp
call dword [0x1abad74]
mov edx, dword [esp + 0x58]
jmp 0xb7d880
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x48]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
mov dword [esp], edx
mov dword [esp + 4], ebp
call dword [0x1abad8c]
jmp 0xb7ee9e
mov edi, dword [esp + 0x90]
mov esi, dword [esp + 0xa4]
jmp 0xb7d8d0
mov ebp, dword [esp + 0x28]
mov dword [esp], ebp
call dword [0x1abad48]
mov ebp, dword [esp + 0x84]
mov ecx, 0x10
mov edx, 0x8000
add ebp, ebp
imul ebp, eax
mov eax, 0x8000
jmp 0xb7f232
or eax, edx
mov edi, eax
mov ebx, eax
imul edi, eax
xor ebx, edx
cmp ebp, edi
cmovb eax, ebx
shr edx, 1
sub ecx, 1
jne 0xb7f230
mov ebx, dword [esp + 0x28]
add eax, 0x30
shr eax, 6
movzx eax, ax
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1265ea0
mov dword [esp], ebx
call dword [0x1abad5c]
xor ecx, ecx
lea eax, [eax + eax*4]
shr eax, 7
jmp 0xb7de9b
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ebp
call dword [0x1abadf8]
mov eax, dword [esi + 0xd0]
mov edx, dword [esi + 0xc4]
mov ecx, dword [esi + 0x94]
shr eax, 1
mov dword [esp + 0x30], edx
jmp 0xb7d726
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ebp
call dword [0x1abadc8]
jmp 0xb7f28b
mov dword [esp + 4], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp], edx
call dword [0x1abadec]
mov eax, dword [esi + 0xd0]
shr eax, 1
jmp 0xb7d767
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [0x1abadf8]
mov eax, dword [esi + 0xd0]
shr eax, 1
jmp 0xb7d767
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call dword [0x1abadc8]
mov eax, dword [esi + 0xd0]
shr eax, 1
jmp 0xb7d767
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ebp
call dword [0x1abadec]
jmp 0xb7f28b
mov ebp, dword [esp + 0x28]
mov esi, 0x10
mov dword [esp], ebp
call dword [0x1abad48]
mov ebp, dword [esp + 0x8c]
mov edx, 0x8000
add ebp, ebp
imul ebp, eax
mov eax, 0x8000
jmp 0xb7f377
or eax, edx
mov edi, eax
mov ecx, eax
imul edi, eax
xor ecx, edx
cmp ebp, edi
cmovb eax, ecx
shr edx, 1
sub esi, 1
jne 0xb7f375
mov esi, dword [esp + 0x28]
add eax, 0x30
shr eax, 6
movzx eax, ax
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1265e20
mov dword [esp], esi
call dword [0x1abad5c]
xor ecx, ecx
lea eax, [eax + eax*4]
shr eax, 7
jmp 0xb7d05d
cmp ax, 0xffff
jl 0xb7e470
mov ebp, dword [esp + 0x48]
test ebp, ebp
jne 0xb7f56c
mov ebp, dword [esp + 0x28]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x1265e20
mov dword [esp], ebp
call dword [0x1abad74]
xor edx, edx
jmp 0xb7e55b
mov ebp, dword [esp + 0x28]
mov dword [esp], ebp
mov ebp, 0x10
call dword [0x1abad48]
mov edx, dword [esp + 0x90]
mov ecx, 0x8000
mov dword [esp + 0x48], edi
add edx, edx
imul eax, edx
mov dword [esp + 0x34], eax
mov eax, 0x8000
jmp 0xb7f429
or eax, ecx
mov edi, eax
mov edx, eax
imul edi, eax
xor edx, ecx
cmp dword [esp + 0x34], edi
cmovb eax, edx
shr ecx, 1
sub ebp, 1
jne 0xb7f427
mov ebp, dword [esp + 0x28]
add eax, 0x30
shr eax, 6
mov edi, dword [esp + 0x48]
movzx eax, ax
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1265ea0
mov dword [esp], ebp
call dword [0x1abad5c]
xor edx, edx
lea eax, [eax + eax*4]
shr eax, 7
jmp 0xb7d6b0
mov ebp, dword [esp + 0x28]
mov dword [esp], ebp
mov ebp, 0x10
call dword [0x1abad48]
mov edx, dword [esp + 0x90]
mov ecx, 0x8000
mov dword [esp + 0x54], edi
add edx, edx
imul eax, edx
mov edx, 0x8000
mov dword [esp + 0x50], eax
jmp 0xb7f4a7
or edx, ecx
mov edi, edx
mov eax, edx
imul edi, edx
xor eax, ecx
cmp dword [esp + 0x50], edi
cmovb edx, eax
shr ecx, 1
sub ebp, 1
jne 0xb7f4a5
mov ebp, dword [esp + 0x28]
lea eax, [edx + 0x30]
shr eax, 6
mov edi, dword [esp + 0x54]
movzx eax, ax
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1265e20
mov dword [esp], ebp
call dword [0x1abad5c]
xor edx, edx
lea eax, [eax + eax*4]
shr eax, 7
jmp 0xb7e2d3
mov ebp, dword [esp + 0x28]
mov dword [esp], ebp
mov ebp, 0x10
call dword [0x1abad48]
mov edx, dword [esp + 0x60]
mov ecx, 0x8000
mov dword [esp + 0x3c], edi
add edx, edx
imul eax, edx
mov edx, 0x8000
mov dword [esp + 0x2c], eax
jmp 0xb7f522
or edx, ecx
mov edi, edx
mov eax, edx
imul edi, edx
xor eax, ecx
cmp dword [esp + 0x2c], edi
cmovb edx, eax
shr ecx, 1
sub ebp, 1
jne 0xb7f520
mov ebp, dword [esp + 0x28]
lea eax, [edx + 0x30]
shr eax, 6
mov edi, dword [esp + 0x3c]
movzx eax, ax
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1265ea0
mov dword [esp], ebp
call dword [0x1abad5c]
xor edx, edx
lea eax, [eax + eax*4]
shr eax, 7
jmp 0xb7d880
mov ebp, dword [esp + 0x28]
mov dword [esp], ebp
call dword [0x1abad48]
mov ebp, dword [esp + 0x5c]
mov edx, 0x8000
mov dword [esp + 0x30], 0x10
mov ecx, 0x8000
mov dword [esp + 0x40], ebx
add ebp, ebp
imul ebp, eax
jmp 0xb7f5a2
or edx, ecx
mov eax, edx
mov ebx, edx
imul eax, edx
xor ebx, ecx
cmp ebp, eax
cmovb edx, ebx
shr ecx, 1
sub dword [esp + 0x30], 1
jne 0xb7f5a0
mov ebp, dword [esp + 0x28]
lea eax, [edx + 0x30]
shr eax, 6
mov ebx, dword [esp + 0x40]
movzx eax, ax
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1265e20
mov dword [esp], ebp
call dword [0x1abad5c]
xor edx, edx
lea eax, [eax + eax*4]
shr eax, 7
jmp 0xb7e55b