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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x24c
test byte [esp + 0x274], 4
mov dword [esp + 0x28], eax
mov ebx, dword [esp + 0x278]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x40], 0
je 0xb6d897
mov ebp, dword [esp + 0x288]
xor eax, eax
mov edx, dword [ebp + 0x174]
test edx, edx
sete al
mov dword [esp + 0x40], eax
mov ebp, dword [esp + 0x27c]
mov eax, 1
mov ecx, dword [ebx + 0xd4]
sub ecx, dword [ebx + 0xd8]
mov edi, dword [esp + 0x268]
mov edx, dword [ebp + 4]
mov ebp, dword [esp + 0x268]
add ecx, 4
shl eax, cl
lea esi, [eax - 1]
mov ecx, eax
neg ecx
shl ebp, 4
mov dword [esp + 0x4c], ebp
mov ebp, dword [esp + 0x27c]
mov eax, dword [ebp]
sub eax, dword [esp + 0x4c]
mov ebp, dword [esp + 0x26c]
add eax, eax
cmp eax, esi
cmovg eax, esi
mov dword [ebx], eax
shl ebp, 4
mov eax, dword [esp + 0x268]
sub edx, ebp
add edx, edx
cmp edx, esi
cmovg edx, esi
add eax, 1
mov esi, eax
shl esi, 4
neg esi
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + 0x26c]
mov dword [ebx + 8], edx
mov edx, esi
add edx, edx
cmp edx, ecx
cmovl edx, ecx
add ebp, 1
shl ebp, 4
neg ebp
mov dword [ebx + 4], edx
mov edx, ebp
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x27c]
add edx, edx
cmp edx, ecx
cmovl edx, ecx
mov ecx, dword [esp + 0x26c]
sub edi, 1
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x26c]
mov dword [ebx + 0xc], edx
mov edx, dword [ebp + 0x10]
sub esi, 1
imul esi, edx
imul ecx, edx
lea ebp, [eax + esi]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x268]
add ecx, edi
add ebp, esi
cmp dword [esp + 0x28c], ecx
jg 0xb6d98b
test edi, edi
jns 0xb6e3cf
xor ecx, ecx
cmp dword [esp + 0x28c], ebp
mov dword [esp + 0x210], 0
mov dword [esp + 0x214], 0
mov dword [ebx + 0x78], 0x100000
jg 0xb6e40b
imul esi, ebp, 0x1e8
add ecx, 1
add esi, dword [esp + 0x280]
mov edi, dword [esi + 0x10]
mov ebp, dword [esi + 0x14]
mov esi, dword [esi + 0x14c]
mov dword [esp + 0x218], edi
mov dword [esp + 0x21c], ebp
mov dword [ebx + 0x7c], esi
mov esi, 2
mov ebp, dword [esp + 0x2c]
cmp dword [esp + 0x28c], ebp
jg 0xb6d9fe
cmp edx, eax
jg 0xb6e432
mov dword [esp + 0x220], 0
mov dword [esp + 0x224], 0
mov dword [ebx + 0x80], 0x100000
mov ebp, dword [esp + 0x26c]
or ebp, dword [esp + 0x268]
mov dword [esp + 0x44], ebp
jne 0xb6e54f
mov dword [esp + 0x220], 0
mov eax, dword [esp + 0x220]
mov dword [esp + 0x224], 0
mov edx, dword [esp + 0x224]
mov dword [ebx + 0x74], 0
mov dword [ebx + 0x80], 0x100000
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], edx
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], edx
mov dword [esp + 0x208], eax
mov dword [esp + 0x20c], edx
mov dword [ebx + 0x7c], 0x100000
mov dword [ebx + 0x78], 0x100000
mov edx, dword [ebx + 0xd0]
mov eax, dword [esp + 0x26c]
mov esi, dword [esp + 0x264]
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x288]
imul eax, edx
add eax, dword [esp + 0x268]
shr edx, 1
imul edx, dword [esp + 0x26c]
shl eax, 4
mov ecx, eax
add ecx, dword [esi]
add edx, dword [esp + 0x268]
mov dword [ebx + 0x8c], 0
mov dword [ebx + 0xb8], ecx
mov ecx, dword [esi + 8]
shl edx, 3
mov dword [ebx + 0x88], 0
add ecx, edx
mov dword [ebx + 0xc0], ecx
mov ecx, dword [esi + 4]
add ecx, edx
mov dword [ebx + 0xbc], ecx
mov ecx, eax
add ecx, dword [edi]
mov dword [ebx + 0xa0], ecx
mov ecx, dword [esp + 0x54]
add ecx, eax
mov dword [ebx + 0xa8], ecx
mov ecx, dword [esp + 0x58]
add ecx, eax
add eax, dword [esp + 0x260]
mov dword [ebx + 0xa4], ecx
mov dword [ebx + 0xac], eax
mov eax, dword [edi + 4]
add eax, edx
mov dword [ebx + 0xb0], eax
mov eax, dword [ebp + 0xf0]
add edx, dword [edi + 8]
lea edi, [ebx + 0x24]
test edi, 1
mov dword [ebx + 0xb4], edx
mov edx, dword [eax*4 + 0x1264700]
mov eax, dword [eax*4 + 0x1265480]
mov dword [ebx + 0xc8], edx
mov edx, 0x28
mov dword [ebx + 0xcc], eax
mov dword [ebx + 0xdc], 0
mov dword [ebx + 0x84], 0
jne 0xb6e970
test edi, 2
jne 0xb6e985
mov ecx, edx
xor eax, eax
shr ecx, 2
test dl, 2
rep stosd dword es:[edi], eax
je 0xb6dbc4
mov word [edi], 0
add edi, 2
and edx, 1
je 0xb6dbcc
mov byte [edi], 0
mov ebp, dword [ebx + 0xd8]
test ebp, ebp
jne 0xb6e6d1
mov eax, dword [esp + 0x208]
mov edx, dword [esp + 0x20c]
mov dword [ebx + 0x98], eax
mov dword [ebx + 0x9c], edx
mov ecx, dword [ebx + 0x98]
xor esi, esi
mov eax, dword [ebx + 0xd4]
mov ebp, esi
mov edi, dword [ebx + 0x9c]
neg ecx
mov edx, ecx
cmovne ebp, eax
sar edx, 0x1f
xor ecx, edx
sub edx, ecx
lea ecx, [eax - 1]
sar edx, cl
neg edi
cmove eax, esi
mov esi, edi
mov edx, dword [edx*4 + 0x1265600]
sar esi, 0x1f
xor edi, esi
sub esi, edi
sar esi, cl
add edx, dword [esi*4 + 0x1265600]
add edx, ebp
mov ebp, dword [esp + 0x288]
add eax, edx
mov edx, dword [ebx + 0xc8]
imul edx, eax
imul eax, dword [ebx + 0xcc]
add eax, dword [ebp + 0x144]
add edx, dword [ebp + 0x154]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 0x148]
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x18], eax
mov eax, dword [ebp + 0x14c]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp + 0x150]
mov ebp, 0x200
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x274]
and eax, 0x100
mov dword [esp + 0x38], eax
jne 0xb6dcb4
mov edi, dword [esp + 0x44]
test edi, edi
je 0xb6e66f
mov eax, dword [ebx + 0x74]
cmp eax, 0x1ff
jg 0xb6e7c6
mov edx, dword [esp + 0x27c]
mov esi, dword [esp + 0x27c]
mov ecx, dword [edx + 0x10]
mov edx, dword [esp + 0x26c]
mov esi, dword [esi + 0x14]
lea edi, [ecx - 1]
imul edx, ecx
add edx, dword [esp + 0x268]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x26c]
imul edx, edx, 0x1e8
add edx, dword [esp + 0x284]
test esi, esi
je 0xb6dd05
cmp dword [esp + 0x268], edi
jl 0xb6e634
mov dword [esp + 0x234], 0
mov dword [esp + 0x230], 0
mov eax, dword [esp + 0x268]
test eax, eax
je 0xb6e534
mov eax, dword [esp + 0x210]
mov esi, eax
and esi, 0xfffffffe
test eax, eax
js 0xb6e772
mov eax, dword [esp + 0x214]
mov dword [esp + 0x220], esi
mov esi, eax
and esi, 0xfffffffe
test eax, eax
js 0xb6e77d
mov dword [esp + 0x224], esi
mov eax, dword [esp + 0x26c]
test eax, eax
je 0xb6e4ff
mov eax, dword [esp + 0x218]
mov esi, eax
and esi, 0xfffffffe
test eax, eax
js 0xb6e788
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x228], esi
mov esi, eax
and esi, 0xfffffffe
test eax, eax
js 0xb6e793
mov eax, dword [esp + 0x208]
mov dword [esp + 0x22c], esi
mov esi, eax
and esi, 0xfffffffe
test eax, eax
js 0xb6e529
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x210], esi
mov esi, eax
and esi, 0xfffffffe
test eax, eax
js 0xb6e746
mov eax, dword [edx]
mov dword [esp + 0x214], esi
mov dword [esp + 0x20c], 0
mov dword [esp + 0x208], 0
mov esi, eax
and esi, 0xfffffffe
test eax, eax
js 0xb6e73b
mov eax, dword [edx + 4]
mov dword [esp + 0x218], esi
mov esi, eax
and esi, 0xfffffffe
test eax, eax
js 0xb6e730
cmp dword [esp + 0x268], edi
mov dword [esp + 0x21c], esi
jge 0xb6de3b
mov eax, dword [esp + 0x28]
sub eax, 1
cmp dword [esp + 0x26c], eax
jl 0xb6e5f7
mov dword [esp + 0x23c], 0
mov dword [esp + 0x238], 0
mov eax, dword [esp + 0x40]
mov edi, 1
mov dword [esp + 0x28], 0xb6cf50
test eax, eax
mov eax, 0xb73d10
cmovne eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
lea esi, [esp + edi*8 + 0x208]
xor eax, eax
mov ecx, dword [esi]
mov dword [esp + 0x2c], ebx
jmp 0xb6de8e
add eax, 1
cmp edi, eax
jbe 0xb6e470
lea edx, [esp + eax*8 + 0x208]
cmp ecx, dword [edx]
jne 0xb6de83
mov ebx, dword [edx + 4]
cmp dword [esi + 4], ebx
jne 0xb6de83
mov ebx, dword [esp + 0x2c]
add edi, 1
cmp edi, 7
jne 0xb6de72
mov eax, dword [ebx + 0x10]
cmp eax, ebp
jle 0xb6e49e
mov ebp, dword [esp + 0x27c]
mov edx, dword [esp + 0x26c]
mov esi, dword [ebx + 0x24]
imul edx, dword [ebp + 0x10]
add edx, dword [esp + 0x268]
mov dword [esp + 0x34], esi
imul edx, edx, 0x1e8
add edx, dword [esp + 0x284]
cmp esi, dword [edx]
je 0xb6e751
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x84]
mov edi, 0xff
lea edx, [esp + eax*8 + 0x208]
xor eax, eax
mov esi, dword [edx]
mov ebp, dword [edx + 4]
jmp 0xb6df21
cmp ebp, dword [edx + 4]
je 0xb6e6b0
add eax, 1
cmp eax, 7
je 0xb6df51
lea edx, [esp + eax*8 + 0x208]
mov ecx, dword [edx]
cmp esi, ecx
jne 0xb6df10
mov edx, dword [edx + 4]
lea ecx, [edx + 2]
cmp ebp, ecx
je 0xb6e6c9
mov ecx, edi
sub edx, 2
and ecx, 0xfffffff7
cmp ebp, edx
cmove edi, ecx
add eax, 1
cmp eax, 7
jne 0xb6df21
test byte [esp + 0x270], 4
mov eax, fcn.00b5eb80
jne 0xb6df75
test byte [esp + 0x270], 1
mov eax, 0xb5e730
mov edx, fcn.00b5ed40
cmove eax, edx
mov esi, dword [esp + 0x28]
mov dword [esp + 0xc], edi
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x48]
mov dword [esp + 8], ebx
mov dword [esp + 0x10], esi
mov dword [esp], ebp
mov dword [esp + 4], edi
call eax
test dword [esp + 0x270], 0x400
je 0xb6e4a6
mov eax, dword [ebx + 0x28]
mov esi, dword [ebx + 0x98]
mov edi, dword [ebx + 0x9c]
mov ebp, dword [ebx + 0x24]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0xd8]
test eax, eax
je 0xb6dfd9
mov eax, esi
shr eax, 0x1f
add esi, eax
mov eax, edi
shr eax, 0x1f
add edi, eax
sar esi, 1
sar edi, 1
cmp ebp, esi
je 0xb6e7d7
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0x10], 0x100000
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], ebx
mov dword [esp + 0x24], eax
mov dword [esp + 4], edi
mov dword [esp], esi
call dword [esp + 0x28]
mov edx, dword [esp + 0x28]
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp + 0x10], edx
mov dword [esp], esi
call fcn.00b5ed40
mov eax, dword [esp + 0x24]
cmp eax, dword [ebx + 0x10]
jl 0xb6e7e6
mov ecx, dword [ebx + 0x28]
mov ebp, dword [ebx + 0x24]
mov dword [esp + 0x34], ecx
cmp ebp, 1
jne 0xb6e04d
cmp dword [esp + 0x34], 1
je 0xb6e4a6
mov esi, dword [ebx + 0x10]
mov dword [ebx + 0x10], 0x100000
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
mov dword [esp], 1
call dword [esp + 0x28]
mov edi, dword [esp + 0x28]
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
mov dword [esp + 0x10], edi
mov dword [esp], 1
call fcn.00b5ed40
cmp esi, dword [ebx + 0x10]
jge 0xb6e4a6
mov eax, dword [ebx + 0xd8]
mov dword [ebx + 0x24], ebp
mov ebp, dword [esp + 0x34]
mov dword [ebx + 0x10], esi
test eax, eax
mov dword [ebx + 0x28], ebp
je 0xb6e4b4
mov esi, ebx
mov eax, ebx
xor edx, edx
mov ecx, dword [eax + 0x24]
add edx, 1
add ecx, ecx
mov dword [eax + 0x4c], ecx
mov ecx, dword [eax + 0x28]
add ecx, ecx
mov dword [eax + 0x50], ecx
add eax, 8
cmp edx, 5
jne 0xb6e0c8
mov eax, dword [esp + 0x270]
and eax, 0x2000080
cmp eax, 0x2000080
je 0xb6e7f8
test dword [esp + 0x270], 0x10080
je 0xb6e194
test byte [esp + 0x270], 0x10
jne 0xb6e8cf
mov ecx, dword [ebx + 0xd4]
mov eax, 1
mov ebp, dword [esp + 0x27c]
add ecx, 4
shl eax, cl
mov esi, dword [ebp + 4]
lea edx, [eax - 1]
mov ecx, eax
mov eax, dword [ebp]
sub eax, dword [esp + 0x4c]
neg ecx
mov dword [ebx + 0xdc], 1
shl eax, 2
cmp eax, edx
cmovg eax, edx
sub esi, dword [esp + 0x50]
mov dword [ebx], eax
lea eax, [esi*4]
cmp eax, edx
cmovg eax, edx
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x3c]
shl eax, 2
cmp eax, ecx
cmovl eax, ecx
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x30]
shl eax, 2
cmp eax, ecx
cmovl eax, ecx
test byte [esp + 0x270], 0x80
mov dword [ebx + 0xc], eax
jne 0xb6e8a4
mov eax, dword [esp + 0x270]
mov ebp, dword [esp + 0x288]
and eax, 0x2000000
imul edx, dword [ebp + 0xf0], 0x1e
cmp eax, 1
sbb eax, eax
and eax, 0xfffffff9
add eax, 8
imul edx, eax
cmp dword [ebx + 0x10], edx
jl 0xb6e4ed
mov eax, dword [esp + 0x40]
test eax, eax
je 0xb6e4ed
lea ebp, [esp + 0x60]
mov ecx, 0x6a
mov edi, ebp
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x28c]
mov edx, dword [esp + 0x280]
mov edi, dword [esp + 0x26c]
mov esi, dword [esp + 0x268]
mov ecx, dword [esp + 0x288]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x27c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x270]
add edi, edi
add esi, esi
mov dword [esp + 8], ecx
mov ecx, edi
mov dword [esp + 4], eax
mov eax, ebx
mov dword [esp], edx
mov edx, esi
call fcn.00b6d1d0
lea edx, [esi + 1]
mov ecx, dword [esp + 0x28c]
mov eax, dword [esp + 0x280]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x288]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x27c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x270]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x10], 1
mov dword [esp + 4], ecx
mov ecx, edi
add edi, 1
mov dword [esp], eax
mov eax, ebx
call fcn.00b6d1d0
mov edx, dword [esp + 0x28c]
mov ecx, dword [esp + 0x280]
mov eax, dword [esp + 0x288]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x27c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x270]
mov dword [esp + 8], eax
mov eax, ebx
mov dword [esp + 0x10], 2
mov dword [esp + 4], edx
mov edx, esi
mov dword [esp], ecx
mov ecx, edi
call fcn.00b6d1d0
mov esi, dword [esp + 0x28c]
mov ecx, edi
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x280]
mov eax, ebx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x10], 3
mov dword [esp + 0x18], esi
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0x288]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x27c]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x270]
mov dword [esp], ebp
call fcn.00b6d1d0
mov ebp, dword [ebx + 0xe0]
test ebp, ebp
je 0xb6e4f4
mov edi, dword [esp + 0x38]
test edi, edi
jne 0xb6e4f4
mov esi, dword [ebx + 0xd8]
xor edx, edx
xor eax, eax
mov ecx, ebx
test esi, esi
je 0xb6e995
mov edi, 1
mov esi, dword [ecx + 0x54]
add edi, 1
mov ebp, esi
shr ebp, 0x1f
add esi, ebp
sar esi, 1
add eax, esi
mov esi, dword [ecx + 0x58]
add ecx, 8
mov ebp, esi
shr ebp, 0x1f
add esi, ebp
sar esi, 1
add edx, esi
cmp edi, 5
jne 0xb6e367
mov ecx, edx
mov esi, dword [ebx + 0x14]
and ecx, 0xf
sar edx, 3
add edx, dword [ecx*4 + 0x12647c0]
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov edx, eax
and edx, 0xf
sar eax, 3
add eax, dword [edx*4 + 0x12647c0]
mov dword [esp], eax
call fcn.00b5ddd0
add esi, eax
mov dword [ebx + 0x14], esi
add esp, 0x24c
pop ebx
pop esi
pop edi
pop ebp
ret
imul ecx, ecx, 0x1e8
add ecx, dword [esp + 0x280]
cmp dword [esp + 0x28c], ebp
mov esi, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x148]
mov dword [esp + 0x210], esi
mov dword [esp + 0x214], edi
mov dword [ebx + 0x78], ecx
mov ecx, 1
jle 0xb6d9b7
mov dword [esp + 0x218], 0
mov esi, 1
mov dword [esp + 0x21c], 0
mov dword [ebx + 0x7c], 0x100000
jmp 0xb6d9e9
imul eax, ebp, 0x1e8
add ecx, 1
add eax, dword [esp + 0x280]
mov esi, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
mov eax, dword [eax + 0x14c]
mov dword [esp + 0x220], esi
mov esi, 3
mov dword [esp + 0x224], edi
mov dword [ebx + 0x80], eax
jmp 0xb6da1e
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
mov eax, dword [esp + edi*8 + 0x20c]
mov dword [esp + 4], eax
mov eax, dword [esp + edi*8 + 0x208]
mov dword [esp], eax
call dword [esp + 0x28]
cmp dword [ebx + 0x10], ebp
jg 0xb6dea5
mov dword [esp + 0x40], 0
mov eax, dword [ebx + 0xd8]
test eax, eax
jne 0xb6e0c2
test byte [esp + 0x270], 0x10
je 0xb6e194
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], 0
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00b5eee0
jmp 0xb6e194
mov dword [ebx + 0x14], 0x100000
add esp, 0x24c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x208]
mov dword [esp + 0x22c], 0
mov dword [esp + 0x228], 0
mov esi, eax
and esi, 0xfffffffe
test eax, eax
jns 0xb6ddb9
lea esi, [eax + 1]
and esi, 0xfffffffe
jmp 0xb6ddb9
mov dword [esp + 0x224], 0
mov dword [esp + 0x220], 0
jmp 0xb6dd60
cmp ecx, 1
je 0xb6e79e
mov edx, dword [esp + 0x218]
mov eax, dword [esp + 0x210]
mov dword [esp + 0x2c], edx
cmp eax, edx
je 0xb6e917
mov edi, dword [esp + 0x220]
mov esi, dword [esp + 0x224]
mov edx, dword [esp + 0x214]
mov ecx, dword [esp + 0x21c]
cmp edi, eax
mov ebp, eax
cmovge ebp, edi
cmp edi, dword [esp + 0x2c]
cmovl edi, dword [esp + 0x2c]
cmp ebp, edi
cmovle edi, ebp
cmp dword [esp + 0x2c], eax
cmovge eax, dword [esp + 0x2c]
cmp edi, eax
cmovle eax, edi
cmp ecx, esi
mov dword [esp + 0x208], eax
mov eax, esi
cmovge eax, ecx
cmp edx, esi
cmovge esi, edx
cmp eax, esi
cmovg eax, esi
cmp ecx, edx
cmovge edx, ecx
cmp eax, edx
cmovg eax, edx
mov dword [esp + 0x20c], eax
mov eax, dword [ebx + 0x80]
mov edx, dword [ebx + 0x78]
cmp dword [ebx + 0x7c], eax
cmovle eax, dword [ebx + 0x7c]
cmp eax, edx
cmovg eax, edx
mov dword [ebx + 0x74], eax
jmp 0xb6daa3
add ecx, 1
imul ecx, ecx, 0x1e8
add ecx, edx
mov edx, dword [ecx]
mov eax, edx
and eax, 0xfffffffe
test edx, edx
js 0xb6e88e
mov edx, dword [ecx + 4]
mov dword [esp + 0x238], eax
mov eax, edx
and eax, 0xfffffffe
test edx, edx
js 0xb6e878
mov dword [esp + 0x23c], eax
jmp 0xb6de51
mov eax, dword [esp + 0x220]
mov esi, eax
and esi, 0xfffffffe
test eax, eax
js 0xb6e883
mov eax, dword [esp + 0x224]
mov dword [esp + 0x230], esi
mov esi, eax
and esi, 0xfffffffe
test eax, eax
js 0xb6e899
mov dword [esp + 0x234], esi
jmp 0xb6dd1b
mov eax, dword [esp + 0x27c]
mov esi, dword [esp + 0x27c]
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x26c]
mov esi, dword [esi + 0x14]
lea edi, [ecx - 1]
imul eax, ecx
add eax, dword [esp + 0x268]
mov dword [esp + 0x28], esi
imul edx, eax, 0x1e8
add edx, dword [esp + 0x284]
jmp 0xb6dd05
lea edx, [ecx + 2]
cmp esi, edx
je 0xb6e728
mov edx, edi
sub ecx, 2
and edx, 0xfffffffd
cmp esi, ecx
cmove edi, edx
jmp 0xb6df19
and edi, 0xfffffffb
jmp 0xb6df19
mov ebp, dword [esp + 0x26c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x268]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0x28c]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x27c]
mov eax, dword [ebp + 0x10]
mov ebp, dword [esp + 0x280]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00b60b90
mov dword [ebx + 0x98], eax
mov dword [ebx + 0x9c], edx
jmp 0xb6dbf4
and edi, 0xfffffffe
jmp 0xb6df19
lea esi, [eax + 1]
and esi, 0xfffffffe
jmp 0xb6de17
lea esi, [eax + 1]
and esi, 0xfffffffe
jmp 0xb6de00
lea esi, [eax + 1]
and esi, 0xfffffffe
jmp 0xb6ddd4
mov ecx, dword [ebx + 0x28]
cmp ecx, dword [edx + 4]
mov dword [esp + 0x48], ecx
jne 0xb6def4
cmp eax, dword [edx + 0x154]
jl 0xb6e49e
jmp 0xb6def4
lea esi, [eax + 1]
and esi, 0xfffffffe
jmp 0xb6dd3e
lea esi, [eax + 1]
and esi, 0xfffffffe
jmp 0xb6dd59
lea esi, [eax + 1]
and esi, 0xfffffffe
jmp 0xb6dd83
lea esi, [eax + 1]
and esi, 0xfffffffe
jmp 0xb6dd9e
mov eax, dword [esp + esi*8 + 0x208]
mov edx, dword [esp + esi*8 + 0x20c]
mov dword [esp + 0x208], eax
mov eax, dword [ebx + esi*4 + 0x74]
mov dword [esp + 0x20c], edx
mov dword [ebx + 0x74], eax
jmp 0xb6daa3
mov bp, 0x400
cmp eax, 0x400
cmovle ebp, eax
jmp 0xb6dcb4
cmp dword [esp + 0x34], edi
jne 0xb6dfe1
jmp 0xb6e03d
mov esi, dword [esp + 0x34]
mov dword [ebx + 0x24], ebp
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x28], esi
jmp 0xb6e03d
mov ecx, dword [ebx + 0xd4]
mov eax, 1
mov ebp, dword [esp + 0x27c]
add ecx, 4
shl eax, cl
mov esi, dword [ebp + 4]
lea edx, [eax - 1]
mov ecx, eax
mov eax, dword [ebp]
sub eax, dword [esp + 0x4c]
neg ecx
shl eax, 2
cmp eax, edx
cmovg eax, edx
sub esi, dword [esp + 0x50]
mov dword [ebx], eax
lea eax, [esi*4]
cmp eax, edx
cmovg eax, edx
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x3c]
shl eax, 2
cmp eax, ecx
cmovl eax, ecx
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x30]
shl eax, 2
cmp eax, ecx
cmovl eax, ecx
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00b5f000
jmp 0xb6e194
lea eax, [edx + 1]
and eax, 0xfffffffe
jmp 0xb6e628
lea esi, [eax + 1]
and esi, 0xfffffffe
jmp 0xb6e648
lea eax, [edx + 1]
and eax, 0xfffffffe
jmp 0xb6e611
lea esi, [eax + 1]
and esi, 0xfffffffe
jmp 0xb6e663
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], 0
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x4c]
mov edx, dword [ebx + 0x50]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00b5eee0
jmp 0xb6e194
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], 0
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00b5eee0
xor eax, eax
mov edx, dword [esi + 0x24]
add eax, 1
add edx, edx
mov dword [esi + 0x4c], edx
mov edx, dword [esi + 0x28]
add edx, edx
mov dword [esi + 0x50], edx
add esi, 8
cmp eax, 5
jne 0xb6e8f7
jmp 0xb6e119
mov edx, dword [esp + 0x214]
mov ecx, dword [esp + 0x21c]
mov edi, dword [esp + 0x220]
mov esi, dword [esp + 0x224]
cmp edx, ecx
jne 0xb6e58e
cmp eax, edi
mov ecx, edx
jne 0xb6e58e
cmp edx, esi
mov edi, eax
jne 0xb6e58e
mov eax, dword [esp + 0x210]
mov edx, dword [esp + 0x214]
mov dword [esp + 0x208], eax
mov dword [esp + 0x20c], edx
jmp 0xb6e5da
lea edi, [ebx + 0x25]
mov dl, 0x27
test edi, 2
mov byte [ebx + 0x24], 0
je 0xb6dbae
mov word [edi], 0
sub edx, 2
add edi, 2
jmp 0xb6dbae
mov esi, 1
add esi, 1
add eax, dword [ecx + 0x2c]
add edx, dword [ecx + 0x30]
add ecx, 8
cmp esi, 5
jne 0xb6e99a
jmp 0xb6e38e