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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x26c
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 8]
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x1a0], 0
cmp eax, 0x4fc
mov dword [ebp - 0x1b8], eax
jle 0xb4f516
mov dword [ebp - 0x1b8], 0x4fc
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp - 0x1b8]
mov dword [edi + 0x46d8], 0
test ebx, ebx
setle dl
test esi, esi
setle al
or dl, al
mov byte [ebp - 0x1e0], dl
jne 0xb517b0
cmp esi, 1
je 0xb4fca0
mov eax, dword [edi + 4]
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1d4], eax
mov eax, dword [edi]
add eax, edi
cmp dword [edi + 0x6c], 0x803
mov dword [ebp - 0x1c8], eax
je 0xb4f579
mov eax, dword [edi + 0x74]
mov dword [ebp - 0x1d0], eax
mov eax, dword [edi + 0xa8]
cmp eax, ecx
mov dword [ebp - 0x1c4], eax
jg 0xb4fa40
lea eax, [ebp - 0x19c]
mov dword [esp + 4], 0x271f
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
cmp dword [edi + 0x2c], 6
mov dword [ebp - 0x184], 0
jle 0xb4f9f0
mov ebx, dword [edi + 0x90]
cmp ebx, 0x3e7f
jle 0xb4f9f0
mov eax, dword [ebp + 0x10]
imul eax, dword [edi + 0x70]
test eax, eax
jle 0xb51a5f
mov edx, dword [ebp + 0xc]
fldz
fld st(0)
lea ecx, [edx + eax*4]
lea esi, [esi]
fld dword [edx]
fxch st(2)
fucom st(2)
fnstsw ax
sahf
ja 0xb4f601
fstp st(0)
fld st(1)
jmp 0xb4f603
fxch st(2)
fucom st(1)
fnstsw ax
sahf
ja 0xb4f610
fstp st(1)
jmp 0xb4f612
fstp st(0)
add edx, 4
cmp ecx, edx
jne 0xb4f5f0
fchs
fxch st(1)
fucom st(1)
fnstsw ax
sahf
jbe 0xb4f630
fstp st(1)
jmp 0xb4f632
fstp st(0)
mov eax, dword [edi + 0x1dd4]
fstp dword [ebp - 0x1c0]
mov dword [ebp - 0x1dc], eax
mov eax, dword [edi + 0x1dd8]
mov dword [ebp - 0x1e4], eax
lea eax, [ebp - 0x184]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x28], eax
mov esi, dword [ebp - 0x1c4]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], esi
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp + 4], eax
lea eax, [edi + 0xbc]
mov dword [esp], eax
call fcn.00b55f30
mov eax, 1
mov ecx, esi
shl eax, cl
mov dword [ebp - 0x1bc], eax
fild dword [ebp - 0x1bc]
fdivr dword [0xe08528]
fld dword [ebp - 0x1c0]
fxch st(1)
fucompp
fnstsw ax
sahf
jb 0xb4fdb2
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x1ec], 1
mov dword [edi + 0x46c8], 0
test eax, eax
je 0xb4f723
cmp dword [edi + 0x7c], 0xfffffc18
je 0xb4fe92
mov eax, dword [ebp - 0x164]
cmp eax, 0xc
jg 0xb4fce0
mov dword [edi + 0x46c8], 0x44d
cmp dword [edi + 0x70], 2
fldz
je 0xb4fa50
mov ebx, dword [edi + 0xa4]
mov eax, dword [edi + 0x90]
cmp ebx, 0xfffffc18
je 0xb4fcc0
cmp ebx, 0xffffffff
je 0xb4fd50
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x1c0]
mov esi, dword [edi + 0x94]
mov dword [edi + 0xa0], ebx
cdq
idiv dword [ebp + 0x10]
test esi, esi
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1cc], eax
jne 0xb4f7f1
mov eax, dword [ebp - 0x1c0]
lea eax, [eax + eax*2]
shl eax, 2
cdq
idiv dword [ebp + 0x10]
mov ecx, eax
lea eax, [ebx + ebx*2]
lea edx, [eax*4]
mov eax, edx
sar eax, 0x1f
and eax, 7
add eax, edx
sar eax, 3
mov edx, eax
mov eax, ecx
shr eax, 0x1f
add eax, ecx
sar eax, 1
mov ebx, eax
add ebx, edx
mov eax, ebx
cdq
idiv ecx
mov ebx, eax
mov eax, dword [ebp - 0x1b8]
cmp ebx, eax
jle 0xb4f7c7
mov ebx, eax
imul ecx, ebx
mov edx, 0x2aaaaaab
mov dword [ebp - 0x1b8], ebx
shl ecx, 3
mov eax, ecx
sar ecx, 0x1f
imul edx
sar edx, 1
sub edx, ecx
test ebx, ebx
mov dword [edi + 0xa0], edx
jle 0xb4fa90
mov ecx, dword [ebp - 0x1b8]
cmp ecx, 2
jle 0xb4faa0
mov edx, dword [ebp - 0x1bc]
mov ebx, dword [edi + 0xa0]
lea eax, [edx + edx*2]
shl eax, 3
cmp ebx, eax
jl 0xb4faa4
cmp edx, 0x31
jg 0xb4fda0
mov eax, ecx
imul eax, edx
cmp ebx, 0x95f
jle 0xb4fab0
cmp eax, 0x12b
jle 0xb4fab4
shl eax, 3
mov ecx, dword [edi + 0x2c]
mov edx, dword [edi + 0x70]
mov dword [ebp - 0x1fc], eax
mov eax, dword [edi + 0x28]
fstp dword [ebp - 0x1d8]
mov dword [ebp - 0x1f8], ecx
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1cc], edx
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov eax, ebx
mov dword [esp + 4], 0
mov dword [esp], esi
mov ecx, dword [ebp - 0x1bc]
call fcn.00b4e7b0
mov dword [ebp - 0x1e8], eax
mov eax, dword [edi + 0x7c]
fld dword [ebp - 0x1d8]
cmp eax, 0xbb9
je 0xb51790
cmp eax, 0xbba
je 0xb51a00
mov eax, dword [edi + 0x8c]
test eax, eax
js 0xb51afe
imul eax, eax, 0x147
sar eax, 8
mov dword [ebp - 0x1f4], eax
mov eax, dword [edi + 0x6c]
cmp eax, 0x801
mov dword [ebp - 0x1d8], eax
je 0xb50b9a
mov eax, dword [edi + 0x78]
cmp eax, 0xfffffc18
je 0xb516a0
cmp dword [ebp - 0x1cc], 2
je 0xb51860
mov eax, dword [ebp - 0x1cc]
mov dword [edi + 0x3770], eax
mov eax, dword [edi + 0xb8]
xor edx, edx
test eax, eax
je 0xb4f924
mov eax, dword [ebp - 0x1ec]
or eax, dword [ebp - 0x184]
sete dl
movzx eax, dl
cmp dword [ebp - 0x1d8], 0x803
mov dword [edi + 0x38], eax
je 0xb51740
mov eax, dword [edi + 0x88]
cmp eax, 0xfffffc18
je 0xb518b3
fstp st(0)
mov ecx, dword [edi + 0x3794]
mov dword [edi + 0x3790], eax
cmp eax, 0x3ea
je 0xb4f987
mov eax, dword [ebp - 0x1c0]
mov edx, 0x51eb851f
imul edx
mov eax, dword [ebp - 0x1c0]
sar edx, 5
sar eax, 0x1f
sub edx, eax
cmp dword [ebp + 0x10], edx
jge 0xb4f987
mov dword [edi + 0x3790], 0x3ea
mov eax, dword [edi + 0x3770]
mov esi, ecx
mov dword [ebp - 0x1cc], eax
mov eax, dword [edi + 0xb0]
test eax, eax
mov dword [ebp - 0x1f8], eax
je 0xb4ff00
test esi, esi
mov dword [edi + 0x3790], 0x3ea
jg 0xb50b20
mov dword [ebp - 0x1f0], 0x3ea
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x210], 0
jmp 0xb4ff36
mov eax, dword [edi + 0x1de0]
mov dword [ebp - 0x1e4], 0xffffffff
mov dword [ebp - 0x1dc], 0xffffffff
test eax, eax
jne 0xb4fd01
test eax, eax
mov dword [edi + 0x8c], 0xffffffff
mov dword [ebp - 0x1ec], 0
mov dword [edi + 0x46c8], 0
je 0xb4f723
jmp 0xb4f6fd
mov dword [ebp - 0x1c4], ecx
jmp 0xb4f58d
cmp dword [edi + 0x78], 1
je 0xb4f72f
fstp st(0)
lea eax, [edi + 0x37b4]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x90]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.00b4f060
jmp 0xb4f72f
fstp st(0)
mov dword [ebp - 0x1b8], 1
jmp 0xb4fac0
fstp st(0)
jmp 0xb4fac0
fstp st(0)
jmp 0xb4fac0
fstp st(0)
jmp 0xb4fac0
fstp st(0)
lea esi, [esi]
lea edi, [edi]
mov ecx, dword [edi + 0x37a0]
mov ebx, dword [edi + 0x3790]
test ecx, ecx
jne 0xb4fad5
mov ecx, 0x44d
test ebx, ebx
je 0xb4fbc0
cmp dword [ebp - 0x1bc], 0x64
jg 0xb4fd20
cmp ebx, 0x3e8
setne al
cmp dword [ebp - 0x1bc], 0x19
jne 0xb4fbe0
test al, al
je 0xb4fbe0
cmp ebx, 0x3e8
mov byte [ebp - 0x1bc], 1
mov dword [ebp - 0x1c4], 0
sete byte [ebp - 0x1c0]
mov esi, 1
mov dword [ebp - 0x1cc], 0x32
cmp ecx, 0x44f
jle 0xb4fe70
cmp byte [ebp - 0x1c0], 0
je 0xb4fe70
mov ecx, 0x44f
mov eax, dword [edi + 0x3770]
mov dword [esp], eax
mov edx, dword [ebp - 0x1cc]
mov eax, ebx
call fcn.00b4e470
or al, byte [ebp - 0x1bc]
mov ebx, dword [ebp + 0x14]
cmp esi, 1
mov byte [ebx], al
jle 0xb4fc5a
cmp dword [ebp - 0x1b8], 2
jl 0xb4fef0
cmp esi, 3
mov eax, 2
jne 0xb4fba1
movzx ebx, byte [ebp - 0x1c4]
mov esi, dword [ebp + 0x14]
mov byte [esi + 1], bl
mov edx, dword [edi + 0x94]
test edx, edx
je 0xb4fc6d
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [ebp - 0x1bc], 0x64
mov ebx, 0x3e8
jle 0xb4fbe0
mov eax, 1
mov ebx, 0x3ea
jmp 0xb4faf3
cmp dword [ebp - 0x1bc], 0x10
jg 0xb4fd25
cmp dword [ebp + 0x18], 1
je 0xb4fc1c
cmp ebx, 0x3e8
sete byte [ebp - 0x1c0]
cmp dword [ebp - 0x1bc], 0xa
movzx eax, byte [ebp - 0x1c0]
je 0xb4fe40
test al, al
je 0xb4fe40
mov eax, dword [ebp - 0x1bc]
cmp eax, 0xc
setle bl
xor edx, edx
cmp eax, 0xc
sete dl
cmp ecx, 0x44f
lea edx, [edx + edx*8 + 0x10]
jg 0xb4fd70
mov eax, dword [edi + 0x3770]
mov dword [esp], eax
mov eax, 0x3e8
call fcn.00b4e470
or ebx, eax
mov eax, dword [ebp + 0x14]
mov byte [eax], bl
mov edx, dword [edi + 0x94]
mov eax, 1
test edx, edx
jne 0xb4fbaf
mov esi, dword [ebp - 0x1b8]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
call fcn.00b3bc70
test eax, eax
jne 0xb52046
lea esp, [ebp - 0xc]
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp + 0x10]
lea eax, [eax + eax*4]
add eax, eax
cmp dword [edi + 0x90], eax
jne 0xb4f54a
mov eax, 0xfffffffe
jmp 0xb4fbaf
mov ebx, eax
mov dword [ebp - 0x1c0], eax
imul eax, eax, 0x3c
imul ebx, dword [edi + 0x70]
cdq
idiv dword [ebp + 0x10]
add ebx, eax
jmp 0xb4f756
cmp eax, 0xe
jle 0xb4fd80
cmp eax, 0x10
jg 0xb50a85
mov dword [edi + 0x46c8], 0x44f
jmp 0xb4f723
lea eax, [edi + 0xbc]
mov dword [esp], eax
call fcn.00b559d0
mov eax, dword [ebp - 0x184]
jmp 0xb4fa12
mov ebx, 0x3ea
cmp ebx, 0x3e8
mov byte [ebp - 0x1bc], 0
mov dword [ebp - 0x1c4], 0
sete byte [ebp - 0x1c0]
xor esi, esi
jmp 0xb4fb35
mov esi, eax
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x1b8]
shl eax, 3
imul eax, esi
cdq
idiv dword [ebp + 0x10]
mov ebx, eax
jmp 0xb4f756
mov ecx, 0x44f
jmp 0xb4fc40
cmp dword [edi + 0x70], 2
mov dword [edi + 0x46c8], 0x44e
fldz
jne 0xb4f72f
jmp 0xb4fa50
mov eax, dword [ebp - 0x1b8]
imul eax, dword [ebp - 0x1bc]
jmp 0xb4f83f
fld dword [0xe08574]
fld dword [ebp - 0x160]
fucompp
fnstsw ax
sahf
jbe 0xb4fd0f
fld dword [0xe08578]
mov ebx, dword [ebp + 0x10]
imul ebx, dword [edi + 0x70]
fmul dword [edi + 0x46d0]
mov eax, dword [edi + 0xb4]
and eax, 7
fstp dword [ebp - 0x1c0]
mov dword [esp + 8], ebx
mov esi, dword [ebp + 0xc]
mov dword [esp + 4], esi
mov esi, dword [ebp + 0xc]
mov dword [esp], esi
call dword [eax*4 + 0xe03000]
mov dword [ebp - 0x1bc], ebx
fild dword [ebp - 0x1bc]
fdivp st(1)
fld dword [ebp - 0x1c0]
fucompp
fnstsw ax
sahf
jbe 0xb520a8
fld dword [0xe08578]
fmul dword [edi + 0x46d0]
fstp dword [edi + 0x46d0]
jmp 0xb4fd0f
mov eax, 0x32
mov esi, 3
mov dword [ebp - 0x1cc], 0x32
cdq
idiv dword [ebp - 0x1bc]
mov byte [ebp - 0x1bc], 3
mov dword [ebp - 0x1c4], eax
jmp 0xb4fb35
cmp ecx, 0x44e
jne 0xb50980
cmp ebx, 0x3ea
jne 0xb50980
mov ecx, 0x44d
jmp 0xb4fb53
mov eax, dword [edi + 0x3794]
test eax, eax
jne 0xb509a2
fld dword [ebp - 0x170]
fsubr dword [0xe08528]
fmul dword [0xe0857c]
fadd dword [0xe08530]
fstp qword [esp]
call sub.msvcrt.dll_floor
fnstcw word [ebp - 0x1ae]
movzx eax, word [ebp - 0x1ae]
mov ah, 0xc
mov word [ebp - 0x1b0], ax
fldcw word [ebp - 0x1b0]
fistp dword [edi + 0x8c]
fldcw word [ebp - 0x1ae]
jmp 0xb4f70a
mov dword [ebp - 0x1b8], 2
jmp 0xb4fb8a
mov eax, dword [edi + 0x3790]
test esi, esi
mov dword [ebp - 0x1f0], eax
jle 0xb51c2d
cmp eax, 0x3ea
je 0xb50b20
xor eax, eax
cmp esi, 0x3ea
sete al
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x1cc], 1
je 0xb51600
mov eax, dword [ebp - 0x1d4]
mov dword [edi + 0x44], 0
add eax, edi
mov dword [ebp - 0x204], eax
mov eax, dword [edi + 0x28]
mov esi, eax
mov dword [ebp - 0x1d8], eax
mov eax, dword [edi + 0xa0]
mov dword [esp + 0xc], esi
mov edx, dword [edi + 0x2c]
mov dword [esp + 8], edx
mov esi, dword [ebp - 0x1f0]
mov dword [esp + 4], esi
mov edx, dword [edi + 0x94]
mov dword [esp], edx
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1cc]
call fcn.00b4e7b0
cmp esi, 0x3ea
mov dword [ebp - 0x1d4], eax
je 0xb51760
cmp dword [edi + 0x3794], 0x3ea
lea eax, [ebp - 0x144]
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x1cc], eax
je 0xb51cc2
mov eax, dword [edi + 0x37ac]
test eax, eax
mov dword [ebp - 0x200], eax
jne 0xb4ffeb
mov eax, dword [edi + 0x54]
test eax, eax
je 0xb50b80
cmp dword [edi + 0x70], 2
mov dword [ebp - 0x1e8], 0xe084e0
mov esi, 0xe08500
je 0xb51840
mov ebx, dword [ebp - 0x1f4]
mov dword [ebp + 8], edi
mov eax, 0x2328
mov ecx, 0x2328
xor edx, edx
mov edi, dword [ebp - 0x1cc]
imul ebx, ebx
jmp 0xb50030
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [eax + edx*4]
mov eax, dword [esi + edx*4]
sub eax, ecx
imul eax, ebx
sar eax, 0xe
add eax, ecx
mov dword [edi + edx*4], eax
add edx, 1
cmp edx, 8
jne 0xb50024
mov edi, dword [ebp + 8]
mov ebx, dword [ebp - 0x200]
mov eax, 0x451
mov ecx, dword [ebp - 0x1cc]
test ebx, ebx
mov edx, dword [ecx + eax*8 - 0x2270]
jne 0xb50079
cmp eax, dword [edi + 0x37a4]
mov esi, dword [ecx + eax*8 - 0x226c]
jg 0xb50242
sub edx, esi
cmp edx, dword [ebp - 0x1d4]
jle 0xb51b72
sub eax, 1
cmp eax, 0x44d
jne 0xb50059
cmp dword [ebp - 0x1f0], 0x3ea
mov dword [edi + 0x37a4], eax
mov dword [edi + 0x37a0], eax
setne dl
mov ecx, dword [edi + 0x84]
cmp ecx, eax
jge 0xb500b8
mov dword [edi + 0x37a0], ecx
mov eax, dword [edi + 0x80]
cmp eax, 0xfffffc18
je 0xb500cb
mov dword [edi + 0x37a0], eax
cmp dword [ebp - 0x1fc], 0x3a97
jg 0xb500f3
test dl, dl
je 0xb500f3
mov edx, dword [edi + 0x37a0]
cmp edx, 0x44f
jg 0xb50b90
mov dword [edi + 0x37a0], edx
mov esi, dword [ebp - 0x1c0]
cmp esi, 0x5dc0
jg 0xb5015b
mov edx, dword [edi + 0x37a0]
cmp edx, 0x450
jg 0xb50ab0
cmp dword [ebp - 0x1c0], 0x3e80
jg 0xb5015b
cmp edx, 0x450
je 0xb50ac6
cmp dword [ebp - 0x1c0], 0x2ee0
jg 0xb5015b
cmp edx, 0x44f
je 0xb50ae0
cmp dword [ebp - 0x1c0], 0x1f40
jg 0xb5015b
cmp edx, 0x44e
je 0xb50afa
cmp eax, 0xfffffc18
mov edx, dword [edi + 0x46c8]
jne 0xb50170
test edx, edx
jne 0xb51a70
cmp dword [ebp - 0x1f0], 0x3ea
sete al
mov edx, dword [edi + 0x30]
mov ebx, dword [ebp - 0x1d8]
test edx, edx
sete cl
test ebx, ebx
sete dl
or cl, dl
jne 0xb50255
test al, al
jne 0xb50255
mov ebx, dword [ebp - 0x1d8]
mov eax, dword [edi + 0x37a0]
mov esi, dword [edi + 0x34]
cmp ebx, 0x19
mov dword [ebp - 0x1e8], eax
mov eax, ebx
jg 0xb50b10
mov edx, 0x7d
sub edx, eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x1c0], edx
lea ecx, [eax*8 + 0xe08460]
mov ebx, eax
jmp 0xb5022d
test esi, esi
jne 0xb501e6
add eax, edx
imul eax, dword [ebp - 0x1c0]
movzx edx, ax
sar eax, 0x10
imul edx, edx, 0x28f
imul eax, eax, 0x28f
sar edx, 0x10
add eax, edx
cmp dword [ebp - 0x1d4], eax
jg 0xb51a20
cmp dword [ebp - 0x1d8], 5
jle 0xb50255
sub ecx, 8
cmp ebx, 0x44d
jle 0xb50249
sub ebx, 1
mov dword [edi + 0x37a0], ebx
cmp esi, 1
mov eax, dword [ecx - 0x2268]
mov edx, dword [ecx - 0x2264]
jne 0xb501e0
sub eax, edx
jmp 0xb501e6
add edx, esi
jmp 0xb50079
mov eax, dword [ebp - 0x1e8]
mov dword [edi + 0x37a0], eax
xor eax, eax
mov dword [edi + 0x34], eax
mov eax, dword [ebp - 0x1c4]
mov dword [esp + 4], 0xfc4
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
mov ecx, dword [edi + 0x3790]
cmp ecx, 0x3ea
je 0xb509c0
mov eax, dword [edi + 0xb0]
test eax, eax
jne 0xb50570
mov eax, dword [edi + 0x37a0]
cmp eax, 0x44f
mov dword [ebp - 0x1d8], eax
jle 0xb52e7d
cmp ecx, 0x3e8
jne 0xb52e7d
mov dword [edi + 0x3790], 0x3e9
mov ecx, 0x3e9
mov ebx, dword [edi + 0x90]
mov edx, 0x51eb851f
mov eax, ebx
imul edx
mov eax, ebx
sar eax, 0x1f
sar edx, 4
sub edx, eax
cmp dword [ebp + 0x10], edx
mov dword [ebp - 0x1c0], edx
jle 0xb50a12
cmp ecx, 0x3e8
je 0xb505d4
mov eax, dword [ebp + 0x10]
cdq
idiv dword [ebp - 0x1c0]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1dc]
cmp eax, 0xffffffff
je 0xb5032d
mov dword [edi + 0x1dd4], eax
mov eax, dword [ebp - 0x1e4]
mov dword [edi + 0x1dd8], eax
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x1d4], esp
mov esi, 3
cmp eax, 2
je 0xb50346
lea esi, [eax + eax]
mov eax, dword [edi + 0x94]
test eax, eax
jne 0xb50390
cmp dword [edi + 0xa4], 0xffffffff
je 0xb50390
mov eax, dword [edi + 0xa0]
lea ecx, [eax + eax*2]
lea eax, [ebx + ebx*2]
mov ebx, dword [ebp - 0x1c0]
imul ebx, dword [ebp - 0x1bc]
shl eax, 3
cdq
idiv ebx
mov ebx, eax
mov eax, ecx
cdq
idiv ebx
cmp dword [ebp + 0x18], eax
jle 0xb50390
mov dword [ebp + 0x18], eax
mov esi, esi
lea edi, [edi]
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1b8], 0x4fc
sub eax, esi
cdq
idiv dword [ebp - 0x1bc]
cmp eax, 0x4fb
jg 0xb503b6
add eax, 1
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x1bc]
imul eax, dword [ebp - 0x1b8]
add eax, 0xf
shr eax, 4
shl eax, 4
call fcn.00bd0e20
sub esp, eax
mov eax, dword [ebp - 0x1cc]
lea ebx, [esp + 0x34]
mov dword [esp], eax
call fcn.00b3b750
mov eax, dword [edi + 0x88]
mov esi, dword [edi + 0x44]
mov dword [ebp - 0x1d8], eax
mov eax, dword [edi + 0x80]
test esi, esi
mov dword [ebp - 0x1e4], esi
mov dword [ebp - 0x1dc], eax
mov eax, dword [edi + 0x78]
mov dword [ebp - 0x1e0], eax
mov eax, dword [edi + 0x3790]
mov dword [edi + 0x88], eax
mov eax, dword [edi + 0x37a0]
mov dword [edi + 0x80], eax
mov eax, dword [edi + 0x3770]
mov dword [edi + 0x78], eax
je 0xb50aa0
mov dword [edi + 0x78], 1
mov ecx, dword [ebp - 0x1bc]
test ecx, ecx
jle 0xb517c2
movzx eax, byte [ebp - 0x1f8]
xor esi, esi
mov dword [ebp + 8], edi
mov edi, esi
mov esi, dword [ebp + 8]
and eax, 1
mov byte [ebp - 0x1d0], al
mov eax, dword [ebp - 0x1bc]
sub eax, 1
mov dword [ebp - 0x1c8], eax
jmp 0xb504b3
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x1cc]
mov dword [esp], eax
call fcn.00b3b790
test eax, eax
js 0xb50559
add edi, 1
add ebx, dword [ebp - 0x1b8]
cmp dword [ebp - 0x1bc], edi
je 0xb517c0
mov ecx, dword [ebp - 0x1c8]
mov dword [esi + 0x44], 0
cmp edi, ecx
setl al
cmp edi, ecx
movzx eax, al
mov dword [esi + 0x46d4], eax
jne 0xb504df
cmp byte [ebp - 0x1d0], 0
jne 0xb52e52
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], 0
mov eax, dword [ebp - 0x1c4]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x1b8]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x1c0]
mov dword [esp + 8], eax
mov ecx, dword [ebp + 0xc]
imul eax, dword [esi + 0x70]
mov dword [esp], esi
imul eax, edi
lea eax, [ecx + eax*4]
mov dword [esp + 4], eax
call fcn.00b4f4e0
test eax, eax
jns 0xb50480
mov eax, 0xfffffffd
mov esp, dword [ebp - 0x1d4]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ecx, 0x3e9
mov dword [edi + 0x37a0], 0x44d
mov edx, 1
sete al
mov dword [ebp - 0x1d8], 0x44d
test al, al
je 0xb502cc
test dl, dl
je 0xb502cc
mov ebx, dword [edi + 0x90]
mov esi, 0x51eb851f
mov dword [edi + 0x3790], 0x3e8
mov eax, ebx
imul esi
mov eax, ebx
sar eax, 0x1f
sar edx, 4
sub edx, eax
cmp dword [ebp + 0x10], edx
mov dword [ebp - 0x1c0], edx
jle 0xb50bb6
lea ecx, [ebx + ebx*2]
mov edx, 0x51eb851f
mov eax, ecx
imul edx
sar ecx, 0x1f
sar edx, 4
sub edx, ecx
cmp dword [ebp + 0x10], edx
mov ecx, 0x3e8
jg 0xb50a3d
mov eax, dword [edi + 0x37a8]
test eax, eax
jne 0xb51a2a
movzx eax, byte [ebp - 0x210]
and eax, 1
cmp ecx, 0x3ea
je 0xb51d19
test al, al
je 0xb51d19
mov eax, dword [edi + 0xa0]
mov dword [ebp - 0x1e8], eax
mov edx, eax
mov eax, dword [edi + 0x3770]
mov dword [esp], eax
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x1b8]
call fcn.00b4e8a0
test eax, eax
mov dword [ebp - 0x1f4], eax
setne al
movzx eax, al
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp - 0x1b8]
add eax, 1
sub esi, 1
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x1e4], esi
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1cc]
mov dword [esp], eax
call fcn.00b47160
mov esi, dword [ebp - 0x1d0]
mov eax, dword [ebp + 0x10]
mov edx, dword [edi + 0x70]
mov dword [ebp - 0x200], esp
add eax, esi
mov dword [ebp - 0x1f0], eax
imul eax, edx
lea eax, [eax*4 + 0x12]
shr eax, 4
shl eax, 4
call fcn.00bd0e20
mov ecx, dword [edi + 0xac]
sub esp, eax
lea eax, [esp + 0x34]
sub ecx, esi
mov dword [ebp - 0x1c0], eax
mov eax, esi
imul eax, edx
imul edx, ecx
shl eax, 2
lea edx, [edi + edx*4 + 0x37c8]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x1c0]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
cmp dword [edi + 0x3790], 0x3ea
je 0xb52584
mov eax, dword [ebp - 0x204]
mov eax, dword [eax + 8]
mov edx, dword [edi + 0x3778]
sub eax, edx
movzx ecx, ax
sar eax, 0x10
imul ecx, ecx, 0x3d7
imul eax, eax, 0x3d7
sar ecx, 0x10
add eax, ecx
add eax, edx
mov dword [edi + 0x3778], eax
sar eax, 8
mov dword [esp], eax
call fcn.00b602d0
cmp dword [edi + 0x6c], 0x800
je 0xb51de1
fild dword [edi + 0x90]
mov eax, dword [edi + 0x70]
mov edx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1c0]
fdivr dword [0xe0858c]
imul edx, eax
cmp eax, 2
lea edx, [esi + edx*4]
fld st(0)
fsubr dword [0xe08528]
je 0xb520f4
fld dword [edi + 0x3780]
mov ecx, dword [ebp + 0xc]
xor eax, eax
mov esi, dword [ebp + 0x10]
fld dword [0xe08524]
nop
lea esi, [esi]
fld dword [ecx + eax*4]
fld st(0)
fsub st(3)
fxch st(3)
fmul st(4)
fxch st(1)
fmul st(5)
fadd st(2)
faddp st(1)
fxch st(2)
fstp dword [edx + eax*4]
add eax, 1
cmp esi, eax
jg 0xb507a0
fstp st(0)
fstp st(1)
fstp st(1)
fstp dword [edi + 0x3780]
mov eax, dword [ebp + 0x38]
test eax, eax
jne 0xb51d3e
mov eax, dword [edi + 0x3790]
cmp eax, 0x3ea
mov dword [ebp - 0x1c4], eax
je 0xb51a52
mov eax, dword [edi + 0x70]
mov dword [ebp - 0x21c], esp
mov dword [ebp - 0x214], eax
imul eax, dword [ebp + 0x10]
lea eax, [eax + eax + 0x10]
shr eax, 4
shl eax, 4
call fcn.00bd0e20
sub esp, eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x218], 0xffffffff
lea esi, [esp + 0x34]
test eax, eax
je 0xb50846
fld dword [0xe08574]
fld dword [ebp - 0x160]
fucompp
fnstsw ax
sahf
setae al
movzx eax, al
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x1e8]
lea ecx, [ebx*8]
mov ebx, dword [ebp - 0x1b8]
imul eax, dword [ebp + 0x10]
sub ebx, dword [ebp - 0x1f4]
cdq
idiv ecx
cmp eax, ebx
jle 0xb5086c
mov eax, ebx
lea eax, [eax*8 - 8]
imul eax, dword [ebp - 0x1bc]
cmp dword [ebp - 0x1c4], 0x3e9
mov ebx, eax
je 0xb52510
fld1
mov dword [edi + 0x24], eax
fstp dword [ebp - 0x1e8]
mov edx, dword [edi + 0x37b0]
test edx, edx
je 0xb50c70
mov eax, dword [edi + 0x94]
mov dword [ebp - 0x220], eax
mov ebx, dword [ebp - 0x220]
test ebx, ebx
je 0xb50c70
mov ecx, dword [edi + 0xb0]
test ecx, ecx
jne 0xb50c70
mov eax, dword [edi + 0x37a0]
cmp eax, 0x44d
mov dword [ebp - 0x220], eax
je 0xb52ad2
cmp eax, 0x44e
je 0xb52c81
fld dword [0xe08554]
mov ecx, 0x11
fld dword [0xe08558]
mov eax, dword [ebp - 0x214]
test eax, eax
jle 0xb52d64
imul eax, eax, 0x54
fldz
shl ecx, 2
mov dword [ebp + 8], edi
mov dword [ebp - 0x224], esi
mov ebx, edx
fld dword [0xe08530]
mov esi, ecx
add eax, edx
mov edi, eax
lea esi, [esi]
lea ecx, [esi + ebx]
mov edx, ebx
jmp 0xb50964
fld dword [0xe08568]
fxch st(2)
fucom st(2)
fnstsw ax
sahf
ja 0xb50bc2
fstp st(0)
fxch st(1)
add edx, 4
faddp st(2)
cmp ecx, edx
je 0xb50be0
fld dword [edx]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
ja 0xb50940
fstp st(1)
fld dword [0xe08564]
jmp 0xb50957
cmp ebx, 0x3e9
jne 0xb4fb53
cmp ecx, 0x450
jg 0xb4fb53
mov ecx, 0x450
jmp 0xb4fb53
cmp eax, 0x3ea
fld dword [ebp - 0x16c]
jne 0xb4fea6
fstp st(0)
fld dword [ebp - 0x168]
jmp 0xb4fea6
cmp dword [edi + 0x37a0], 0x44e
je 0xb52099
mov ebx, dword [edi + 0xb0]
test ebx, ebx
jne 0xb50570
mov eax, dword [edi + 0x37a0]
mov ebx, dword [edi + 0x90]
mov edx, 0x51eb851f
mov dword [ebp - 0x1d8], eax
mov eax, ebx
imul edx
mov eax, ebx
sar eax, 0x1f
sar edx, 4
sub edx, eax
cmp dword [ebp + 0x10], edx
mov dword [ebp - 0x1c0], edx
jg 0xb50300
lea esi, [ebx + ebx*2]
mov edx, 0x51eb851f
mov eax, esi
imul edx
mov eax, esi
sar eax, 0x1f
sar edx, 4
sub edx, eax
cmp dword [ebp + 0x10], edx
jle 0xb505f6
cmp ecx, 0x3e8
jne 0xb50300
lea ecx, [ebx + ebx]
mov esi, 0x51eb851f
mov eax, ecx
imul esi
mov eax, ecx
sar eax, 0x1f
sar edx, 3
sub edx, eax
cmp dword [ebp + 0x10], edx
je 0xb522f1
add ecx, ebx
mov eax, ecx
sar ecx, 0x1f
imul esi
mov eax, edx
sar eax, 3
sub eax, ecx
cmp dword [ebp + 0x10], eax
jne 0xb50300
sar edx, 4
sub edx, ecx
mov dword [ebp - 0x1c0], edx
jmp 0xb50300
cmp eax, 0x12
setg al
movzx eax, al
add eax, 0x450
mov dword [edi + 0x46c8], eax
jmp 0xb4f723
mov dword [edi + 0x3798], eax
jmp 0xb5043f
cmp esi, 0x3e80
mov dword [edi + 0x37a0], 0x450
jg 0xb5015b
cmp dword [ebp - 0x1c0], 0x2ee0
mov dword [edi + 0x37a0], 0x44f
jg 0xb5015b
cmp dword [ebp - 0x1c0], 0x1f40
mov dword [edi + 0x37a0], 0x44e
jg 0xb5015b
mov dword [edi + 0x37a0], 0x44d
jmp 0xb5015b
mov eax, 0x19
jmp 0xb501c0
cmp esi, 0x3ea
je 0xb51c17
mov eax, dword [ebp - 0x1c0]
mov edx, 0x51eb851f
imul edx
mov eax, dword [ebp - 0x1c0]
sar edx, 5
sar eax, 0x1f
sub edx, eax
cmp dword [ebp + 0x10], edx
jl 0xb51c17
mov dword [edi + 0x3790], esi
mov dword [ebp - 0x1f0], esi
mov dword [ebp - 0x1f8], 1
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x210], 1
jmp 0xb4ff36
mov eax, dword [edi + 0x37a0]
mov edx, 1
jmp 0xb500a8
mov edx, 0x44f
jmp 0xb500ed
cmp dword [ebp - 0x1f4], 0x73
jle 0xb4f8df
mov dword [ebp - 0x1f4], 0x73
jmp 0xb4f8df
lea ecx, [ebx + ebx*2]
mov eax, ecx
imul esi
jmp 0xb505e0
fstp st(2)
fxch st(1)
fldz
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
sahf
jbe 0xb50957
fmul st(1)
jmp 0xb50957
add ebx, 0x54
cmp edi, ebx
jne 0xb50930
fstp st(0)
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0x224]
fdivrp st(1)
fnstcw word [ebp - 0x1ae]
movzx eax, word [ebp - 0x1ae]
mov edx, 0x55555556
mov ah, 0xc
mov word [ebp - 0x1b0], ax
mov ebx, dword [edi + 0x24]
mov ecx, ebx
neg ecx
add ecx, ecx
mov eax, ecx
sar ecx, 0x1f
imul edx
fild dword [ebp - 0x214]
fmulp st(1)
sub edx, ecx
fadd dword [0xe085a0]
fmulp st(1)
fldcw word [ebp - 0x1b0]
fistp dword [ebp - 0x224]
fldcw word [ebp - 0x1ae]
mov eax, dword [ebp - 0x224]
cmp edx, eax
jge 0xb50c53
mov edx, eax
mov eax, dword [ebp - 0x220]
sub eax, 0x450
cmp eax, 1
jbe 0xb52ae8
add edx, ebx
mov dword [edi + 0x24], edx
lea esi, [esi]
imul eax, dword [ebp + 0x10], 0x3e8
mov ebx, dword [edi + 0x90]
mov ecx, dword [edi + 0x3770]
mov dword [edi + 0xc], ecx
cdq
idiv ebx
cmp dword [ebp - 0x1d8], 0x44d
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0x214]
mov dword [edi + 8], eax
je 0xb52578
cmp dword [ebp - 0x1d8], 0x44e
je 0xb5288a
cmp dword [ebp - 0x1d8], 0x44f
je 0xb50cd1
cmp dword [ebp - 0x1c4], 0x3e9
jne 0xb52e61
mov dword [edi + 0x1c], 0x3e80
cmp dword [ebp - 0x1c4], 0x3e9
je 0xb51b87
cmp dword [ebp - 0x1c4], 0x3e8
mov dword [edi + 0x18], 0x1f40
mov dword [edi + 0x14], 0x3e80
je 0xb52497
mov edx, dword [edi + 0x94]
xor eax, eax
test edx, edx
sete al
mov dword [edi + 0x3c], eax
mov eax, dword [ebp - 0x1e4]
shl eax, 3
cmp dword [ebp - 0x1f4], 1
jle 0xb51c0f
mov ecx, dword [ebp - 0x1dc]
test ecx, ecx
je 0xb51c0f
mov ecx, dword [ebp - 0x1f4]
lea edx, [ecx*8 + 1]
sub eax, edx
mov dword [edi + 0x40], eax
mov eax, dword [ebp - 0x208]
test eax, eax
jne 0xb52314
lea eax, [edi + 8]
mov dword [ebp - 0x1fc], eax
lea eax, [ebp - 0x198]
mov dword [ebp - 0x1c4], eax
mov ebx, dword [edi + 0x70]
mov ecx, dword [ebp + 0x10]
xor edx, edx
imul ecx, ebx
test ecx, ecx
jle 0xb50dea
imul ebx, dword [ebp - 0x1d0]
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x1c0]
nop
lea eax, [ebx + edx]
fld dword [0xe0852c]
fmul dword [edi + eax*4]
fld dword [0xe08570]
fxch st(1)
fucom st(1)
fnstsw ax
sahf
jbe 0xb50dc0
fstp st(1)
fld dword [0xe0856c]
fucom st(1)
fnstsw ax
sahf
ja 0xb50dc4
fstp st(1)
jmp 0xb50dc2
fstp st(0)
jmp 0xb50dd0
fstp st(0)
lea esi, [esi]
lea edi, [edi]
fistp dword [ebp - 0x190]
mov eax, dword [ebp - 0x190]
mov word [esi + edx*2], ax
add edx, 1
cmp ecx, edx
jg 0xb50d90
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x218]
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x1c4]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x1cc]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1fc]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x204]
mov dword [esp], eax
call fcn.00b5baa0
test eax, eax
jne 0xb5230a
mov ebx, dword [edi + 0x3790]
cmp ebx, 0x3e8
je 0xb52896
cmp dword [edi + 0x50], 0x3e80
jne 0xb52e2f
mov eax, dword [edi + 0x60]
test eax, eax
je 0xb51fd4
mov esi, dword [edi + 0x46d4]
test esi, esi
jne 0xb51fd4
mov eax, dword [ebp - 0x198]
mov dword [edi + 0x48], 1
test eax, eax
je 0xb51fe9
mov eax, dword [edi + 0x3770]
mov edx, dword [edi + 0xa0]
mov dword [esp], eax
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x1b8]
call fcn.00b4e8a0
test eax, eax
mov dword [ebp - 0x1f4], eax
mov dword [edi + 0x37a8], 1
setne al
mov dword [ebp - 0x20c], 0
movzx eax, al
mov dword [ebp - 0x1dc], eax
mov esp, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x1d8]
lea edx, [eax - 0x44d]
mov eax, 0x15
cmp edx, 3
ja 0xb50ef3
mov eax, dword [edx*4 + 0xe083a8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x271c
mov esi, dword [ebp - 0x1c8]
mov dword [esp], esi
call fcn.00b466f0
mov eax, dword [edi + 0x3770]
mov dword [esp + 4], 0x2718
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00b466f0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0xfa2
mov dword [esp], esi
call fcn.00b466f0
cmp dword [edi + 0x3790], 0x3e8
je 0xb51b26
mov dword [esp + 8], 0
mov dword [esp + 4], 0xfa6
mov dword [esp], esi
call fcn.00b466f0
mov ebx, dword [edi + 0x4c]
xor eax, eax
mov dword [esp + 4], 0x2712
mov dword [esp], esi
test ebx, ebx
sete al
add eax, eax
mov dword [esp + 8], eax
call fcn.00b466f0
mov ebx, dword [edi + 0x3790]
cmp ebx, 0x3e9
je 0xb528c9
mov edx, dword [edi + 0x94]
test edx, edx
jne 0xb529ee
mov eax, dword [edi + 0x90]
mov esi, dword [edi + 0x70]
mov edx, 0x51eb851f
mov dword [ebp - 0x1fc], esp
mov ecx, eax
mov dword [ebp - 0x1bc], eax
imul ecx, esi
mov eax, ecx
sar ecx, 0x1f
imul edx
sar edx, 7
sub edx, ecx
lea eax, [edx*4]
mov dword [ebp - 0x1c4], eax
add eax, 0x12
shr eax, 4
shl eax, 4
call fcn.00bd0e20
sub esp, eax
cmp ebx, 0x3e8
lea eax, [esp + 0x34]
mov dword [ebp - 0x204], eax
je 0xb51b67
mov eax, dword [edi + 0x3794]
cmp eax, ebx
je 0xb51b67
test eax, eax
jle 0xb51b67
mov eax, dword [ebp - 0x1bc]
mov ebx, dword [edi + 0xac]
mov edx, 0x51eb851f
imul edx
mov eax, dword [ebp - 0x1bc]
mov ecx, ebx
sub ecx, dword [ebp - 0x1d0]
sar edx, 7
sar eax, 0x1f
sub eax, edx
add ecx, eax
imul ecx, esi
lea eax, [edi + ecx*4 + 0x37c8]
mov ecx, dword [ebp - 0x1c4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x204]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, ebx
sub eax, dword [ebp - 0x1f0]
imul eax, esi
test eax, eax
jle 0xb52226
sub ebx, dword [ebp + 0x10]
sub ebx, dword [ebp - 0x1d0]
imul ebx, esi
shl ebx, 2
mov dword [esp + 8], ebx
mov eax, dword [ebp + 0x10]
imul eax, esi
lea eax, [edi + eax*4 + 0x37c8]
mov dword [esp + 4], eax
lea eax, [edi + 0x37c8]
mov dword [esp], eax
call sub.msvcrt.dll_memmove
imul esi, dword [ebp - 0x1f0]
lea ecx, [edi + ebx + 0x37c8]
lea eax, [esi*4]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcpy
fld dword [edi + 0x377c]
fld1
fucom st(1)
fnstsw ax
sahf
ja 0xb52050
fld dword [ebp - 0x1e8]
fxch st(1)
fucompp
fnstsw ax
sahf
ja 0xb52052
fstp st(0)
mov eax, dword [edi + 0x3790]
fld dword [ebp - 0x1e8]
fstp dword [edi + 0x377c]
cmp eax, 0x3e9
mov dword [ebp - 0x1c4], eax
je 0xb52179
cmp dword [ebp - 0x1d4], 0x7d00
jle 0xb5202a
mov dword [edi + 0x5c], 0x4000
mov eax, dword [edi + 0x37b0]
test eax, eax
je 0xb52756
mov esi, dword [ebp - 0x1c4]
cmp esi, 0x3ea
je 0xb511a8
bsr eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x130]
xor eax, 0x1f
cmp esi, 0x3e9
lea eax, [eax + edx - 0x20]
je 0xb521a8
mov esi, dword [ebp - 0x1e4]
add eax, 0x11
lea edx, [esi*8]
cmp eax, edx
jg 0xb511a8
mov eax, dword [ebp - 0x1dc]
test eax, eax
jne 0xb52a4b
mov eax, dword [edi + 0x3790]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x1c4]
mov dword [edi + 0x37a8], 0
xor esi, esi
mov dword [ebp - 0x1dc], 0
cmp eax, 0x3ea
je 0xb521e5
cmp eax, 0x3e8
mov dword [ebp - 0x1c4], 0x11
je 0xb521f4
mov ebx, dword [ebp - 0x1e4]
sub ebx, esi
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x1cc]
mov dword [esp], eax
call fcn.00b475f0
mov dword [ebp - 0x1bc], 0
mov eax, dword [ebp - 0x1dc]
test eax, eax
jne 0xb5121e
cmp dword [edi + 0x3790], 0x3e8
je 0xb5124e
lea eax, [ebp - 0x184]
mov dword [esp + 4], 0x2726
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
cmp dword [edi + 0x3790], 0x3e9
je 0xb52952
cmp byte [ebp - 0x1e0], 0
je 0xb5133f
mov dword [esp + 8], 0
mov dword [esp + 4], 0x271a
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xfa6
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0xfa2
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
mov edx, 0x51eb851f
mov ecx, dword [ebp - 0x210]
lea eax, [ecx + ebx]
mov dword [esp + 0xc], eax
mov ecx, dword [edi + 0x90]
mov eax, ecx
sar ecx, 0x1f
imul edx
sar edx, 6
sub edx, ecx
mov dword [esp + 8], edx
mov ecx, dword [ebp - 0x1c0]
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b40790
test eax, eax
js 0xb51ca9
lea eax, [ebp - 0x1a0]
mov dword [esp + 4], 0xfbf
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
mov dword [esp + 4], 0xfbc
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
mov eax, dword [ebp - 0x1c4]
mov dword [esp + 4], 0x271a
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
mov eax, dword [edi + 0x3790]
cmp eax, 0x3e8
je 0xb514ba
mov edx, dword [edi + 0x3794]
cmp eax, edx
je 0xb51407
test edx, edx
jle 0xb51407
mov dword [esp + 4], 0xfbc
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
lea eax, [ebp - 0x190]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 2
mov edx, 0x51eb851f
mov dword [esp + 0xc], eax
mov ecx, dword [edi + 0x90]
mov eax, ecx
sar ecx, 0x1f
imul edx
sar edx, 7
sub edx, ecx
mov dword [esp + 8], edx
mov ecx, dword [ebp - 0x204]
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b40790
mov dword [esp + 8], 0
mov dword [esp + 4], 0x2712
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
bsr eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x130]
lea edx, [ebx*8]
xor eax, 0x1f
lea eax, [eax + ecx - 0x20]
cmp edx, eax
jl 0xb514ba
cmp byte [ebp - 0x1e0], 0
je 0xb51c46
cmp dword [edi + 0x3790], 0x3e9
mov eax, dword [edi + 0x94]
je 0xb52b16
mov dword [esp + 8], eax
mov dword [esp + 4], 0xfa6
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
mov ecx, dword [ebp - 0x1cc]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x1c0]
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b40790
test eax, eax
mov dword [ebp - 0x1bc], eax
js 0xb51ca9
cmp dword [edi + 0x3790], 0x3e9
je 0xb52cb4
mov eax, dword [ebp - 0x20c]
xor eax, 1
test dword [ebp - 0x1dc], eax
jne 0xb52598
mov eax, dword [edi + 0x90]
mov ebx, dword [edi + 0x3790]
cdq
idiv dword [ebp + 0x10]
mov edx, dword [edi + 0x3770]
mov dword [esp], edx
mov ecx, dword [ebp - 0x1d8]
mov edx, eax
mov eax, ebx
call fcn.00b4e470
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x128]
mov byte [ebx], al
mov eax, dword [ebp - 0x1a0]
xor eax, edx
mov dword [edi + 0x46d8], eax
mov eax, dword [ebp - 0x1f8]
test eax, eax
je 0xb520e3
mov dword [edi + 0x3794], 0x3ea
mov eax, dword [edi + 0x3770]
mov dword [edi + 0x37ac], 0
mov dword [edi + 0x3798], eax
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x379c], eax
mov eax, dword [edi + 0xb8]
test eax, eax
je 0xb51563
mov eax, dword [ebp - 0x1ec]
or eax, dword [ebp - 0x184]
jne 0xb5225d
mov eax, dword [ebp - 0x130]
bsr edx, edx
mov dword [edi + 0x46cc], 0
xor edx, 0x1f
lea edx, [edx + eax - 0x20]
mov eax, dword [ebp - 0x1e4]
shl eax, 3
cmp edx, eax
jg 0xb522bd
cmp dword [edi + 0x3790], 0x3e8
jne 0xb515ce
mov ecx, dword [ebp - 0x1dc]
test ecx, ecx
jne 0xb515ce
mov eax, dword [ebp - 0x1bc]
cmp eax, 2
jle 0xb515ce
mov ebx, dword [ebp + 0x14]
cmp byte [ebx + eax], 0
jne 0xb515ce
mov edx, ebx
sub eax, 1
cmp eax, 2
je 0xb515c8
cmp byte [edx + eax], 0
je 0xb515ba
mov dword [ebp - 0x1bc], eax
mov edx, dword [edi + 0x94]
mov eax, dword [ebp - 0x1bc]
test edx, edx
lea eax, [eax + esi + 1]
je 0xb5292a
mov esp, dword [ebp - 0x1fc]
mov esp, dword [ebp - 0x200]
jmp 0xb4fbaf
cmp dword [edi + 0x3798], 2
jne 0xb4ff43
mov eax, dword [edi + 0x44]
test eax, eax
jne 0xb4ff43
cmp esi, 0x3ea
je 0xb4ff43
mov esi, dword [ebp - 0x1f0]
cmp esi, 0x3ea
je 0xb4ff43
mov eax, dword [ebp - 0x1d4]
mov dword [edi + 0x44], 1
mov dword [edi + 0x3770], 2
add eax, edi
mov dword [ebp - 0x204], eax
mov eax, dword [edi + 0x28]
mov ebx, eax
mov dword [ebp - 0x1d8], eax
mov eax, dword [edi + 0xa0]
mov dword [esp + 0xc], ebx
mov edx, dword [edi + 0x2c]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov edx, dword [edi + 0x94]
mov dword [esp], edx
mov ecx, dword [ebp - 0x1bc]
mov edx, 2
call fcn.00b4e7b0
mov dword [ebp - 0x1d4], eax
jmp 0xb4ffaa
cmp dword [ebp - 0x1cc], 2
jne 0xb4f8fa
mov ecx, dword [ebp - 0x1f4]
mov eax, ecx
imul eax, ecx
imul eax, eax, 0x7d0
sar eax, 0xe
cmp dword [edi + 0x3770], 2
lea edx, [eax + 0x4650]
je 0xb5216e
cmp edx, dword [ebp - 0x1e8]
jl 0xb516e6
mov dword [ebp - 0x1cc], 1
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1f0]
fstp dword [ebp - 0x200]
mov dword [edi + 0x3770], eax
mov dword [esp + 0xc], ecx
mov edx, eax
mov ecx, dword [ebp - 0x1f8]
mov dword [esp + 4], 0
mov eax, ebx
mov dword [esp], esi
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x1bc]
call fcn.00b4e7b0
mov dword [ebp - 0x1e8], eax
fld dword [ebp - 0x200]
jmp 0xb4f906
fstp st(0)
mov dword [edi + 0x3790], 0x3ea
mov esi, dword [edi + 0x3794]
jmp 0xb4f995
mov eax, dword [edi + 0x37ac]
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x200], eax
lea eax, [ebp - 0x144]
mov dword [ebp - 0x1cc], eax
jmp 0xb4ffeb
mov eax, dword [edi + 0x6c]
mov dword [ebp - 0x1f4], 0x7f
mov dword [ebp - 0x1d8], eax
jmp 0xb4f8df
mov eax, 0xffffffff
jmp 0xb4fbaf
mov edi, esi
mov edx, dword [edi + 0x94]
xor eax, eax
mov dword [esp + 0x14], 0
test edx, edx
sete al
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1bc]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1cc]
mov dword [esp], eax
call fcn.00b3b7c0
test eax, eax
js 0xb50559
mov esi, dword [ebp - 0x1d8]
mov dword [edi + 0x88], esi
mov esi, dword [ebp - 0x1dc]
mov dword [edi + 0x80], esi
mov esi, dword [ebp - 0x1e0]
mov dword [edi + 0x78], esi
mov esi, dword [ebp - 0x1e4]
mov dword [edi + 0x44], esi
jmp 0xb5055e
cmp dword [edi + 0x78], 1
je 0xb50004
mov dword [ebp - 0x1e8], 0xe084a0
mov esi, 0xe084c0
jmp 0xb50004
mov ecx, dword [ebp - 0x1f0]
fstp dword [ebp - 0x200]
mov dword [edi + 0x3770], eax
mov edx, eax
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp - 0x1f8]
mov dword [esp], esi
mov dword [esp + 4], 0
mov esi, eax
mov eax, ebx
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x1bc]
call fcn.00b4e7b0
mov dword [ebp - 0x1cc], esi
mov dword [ebp - 0x1e8], eax
fld dword [ebp - 0x200]
jmp 0xb4f906
fld st(0)
fnstcw word [ebp - 0x1ae]
movzx eax, word [ebp - 0x1ae]
mov esi, dword [ebp - 0x1f4]
fsubr dword [0xe08528]
mov ah, 0xc
mov ebx, esi
mov word [ebp - 0x1b0], ax
imul ebx, esi
fld dword [0xe08580]
fld st(1)
fmul st(1)
fxch st(1)
fmul st(3)
faddp st(1)
fldcw word [ebp - 0x1b0]
fistp dword [ebp - 0x1b4]
fldcw word [ebp - 0x1ae]
mov ecx, dword [ebp - 0x1b4]
fmul dword [0xe08584]
fxch st(1)
fmul dword [0xe08588]
faddp st(1)
fldcw word [ebp - 0x1b0]
fistp dword [ebp - 0x1b4]
fldcw word [ebp - 0x1ae]
mov eax, dword [ebp - 0x1b4]
sub eax, ecx
imul eax, ebx
sar eax, 0xe
add eax, ecx
cmp dword [ebp - 0x1d8], 0x800
je 0xb522e7
mov ecx, dword [edi + 0x3794]
cmp ecx, 0x3ea
mov esi, ecx
je 0xb522dd
test ecx, ecx
jle 0xb51963
add eax, 0xfa0
cmp eax, dword [ebp - 0x1e8]
setle al
movzx eax, al
lea eax, [eax + eax + 0x3e8]
mov dword [edi + 0x3790], eax
mov eax, dword [edi + 0x30]
test eax, eax
je 0xb519a3
mov eax, pe_nt_image_headers32
sub eax, dword [ebp - 0x1f4]
sar eax, 4
cmp dword [ebp - 0x1f0], eax
jle 0xb519a3
mov dword [edi + 0x3790], 0x3e8
cmp dword [ebp - 0x1f4], 0x64
jle 0xb519ba
test dl, dl
je 0xb519ba
mov dword [edi + 0x3790], 0x3e8
xor eax, eax
cmp dword [ebp - 0x1bc], 0x33
mov ebx, dword [ebp - 0x1c0]
setge al
shl ebx, 3
sub eax, 1
and eax, 0xfffff448
add eax, 0x2328
imul eax, dword [ebp + 0x10]
cdq
idiv ebx
cmp dword [ebp - 0x1b8], eax
jl 0xb51cb3
mov eax, dword [edi + 0x3790]
jmp 0xb4f956
mov eax, dword [edi + 0x6c]
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x1d8], eax
jmp 0xb4f8df
mov eax, 1
jmp 0xb50257
mov dword [edi + 0x37a8], 0
mov eax, 1
mov dword [ebp - 0x20c], 1
mov dword [ebp - 0x208], 2
jmp 0xb5060e
fld1
fstp dword [ebp - 0x1e8]
jmp 0xb50ed6
fldz
fchs
jmp 0xb4f632
cmp dword [ebp - 0x1f0], 0x3ea
mov esi, dword [edi + 0x3770]
sete al
imul ecx, esi, 0x4650
cmp dword [ebp - 0x1d4], ecx
jg 0xb51a9a
test al, al
mov ecx, 0x44d
jne 0xb51adb
imul ecx, esi, 0x5dc0
cmp dword [ebp - 0x1d4], ecx
jg 0xb51ab1
test al, al
mov ecx, 0x44e
jne 0xb51adb
imul ebx, esi, 0x7530
cmp dword [ebp - 0x1d4], ebx
mov ecx, 0x44f
jle 0xb51adb
xor ecx, ecx
imul esi, esi, 0xabe0
cmp dword [ebp - 0x1d4], esi
setg cl
add ecx, 0x450
cmp ecx, edx
jge 0xb51ae1
mov ecx, edx
mov edx, dword [edi + 0x37a0]
mov dword [edi + 0x46c8], ecx
cmp edx, ecx
jle 0xb51af3
mov edx, ecx
mov dword [edi + 0x37a0], edx
jmp 0xb5017d
mov eax, dword [edi + 0x6c]
cmp eax, 0x800
mov dword [ebp - 0x1d8], eax
sete al
movzx eax, al
sub eax, 1
and eax, 0xffffffbd
add eax, 0x73
mov dword [ebp - 0x1f4], eax
jmp 0xb4f8df
mov esi, dword [edi + 0x70]
mov ecx, dword [edi + 0x90]
mov edx, 0x51eb851f
mov dword [ebp - 0x1fc], esp
imul ecx, esi
mov eax, ecx
sar ecx, 0x1f
imul edx
sar edx, 7
sub edx, ecx
lea eax, [edx*4 + 0x12]
shr eax, 4
shl eax, 4
call fcn.00bd0e20
sub esp, eax
lea eax, [esp + 0x34]
mov dword [ebp - 0x204], eax
mov ebx, dword [edi + 0xac]
jmp 0xb5106c
cmp eax, 0x44e
jne 0xb52ddc
mov eax, 0x44f
jmp 0xb5008f
mov eax, dword [edi + 0x94]
mov dword [edi + 0x18], 0x3e80
mov dword [edi + 0x14], 0x3e80
test eax, eax
mov dword [ebp - 0x1c4], eax
sete al
movzx eax, al
mov dword [edi + 0x3c], eax
mov eax, dword [ebp - 0x1e4]
shl eax, 3
cmp dword [ebp - 0x1f4], 1
jle 0xb529d6
mov edx, dword [ebp - 0x1dc]
test edx, edx
je 0xb529d6
mov edx, dword [ebp - 0x1f4]
lea edx, [edx*8 + 1]
sub eax, edx
mov edx, dword [ebp - 0x1c4]
sub eax, 0x14
mov dword [ebp - 0x1fc], eax
mov dword [edi + 0x40], eax
test edx, edx
jne 0xb52989
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x1fc]
imul eax, dword [edi + 0x24]
cdq
idiv ebx
cmp eax, ecx
jle 0xb51c0f
mov eax, ecx
mov dword [edi + 0x40], eax
jmp 0xb50d4c
mov eax, dword [edi + 0x3790]
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x210], 0
jmp 0xb4ff36
mov eax, dword [edi + 0x94]
mov dword [esp + 4], 0xfa6
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
mov ecx, dword [ebp - 0x1cc]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x1c0]
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b40790
test eax, eax
mov dword [ebp - 0x1bc], eax
jns 0xb514ba
mov eax, 0xfffffffd
jmp 0xb515e6
mov dword [edi + 0x3790], 0x3ea
jmp 0xb4f995
mov dword [esp + 8], eax
mov eax, dword [edi + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x204]
mov dword [esp], eax
call fcn.00b5b950
mov eax, dword [edi + 0x3790]
cmp eax, 0x3ea
mov dword [ebp - 0x1f0], eax
je 0xb52e98
mov eax, dword [edi + 0x90]
mov dword [ebp - 0x208], 1
mov dword [ebp - 0x1c0], eax
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x1d8], eax
jmp 0xb4ffd0
mov eax, dword [edi + 0xa0]
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1e8], eax
jmp 0xb5065e
mov eax, dword [edi + 0x70]
mov edx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1c0]
imul edx, eax
imul eax, dword [ebp + 0x10]
lea ecx, [esi + edx*4]
mov edx, dword [edi + 0xb4]
mov dword [esp + 4], ecx
mov dword [esp], ecx
and edx, 7
mov dword [esp + 8], eax
call dword [edx*4 + 0xe03000]
fld dword [0xe08538]
fucomp st(1)
fnstsw ax
sahf
jbe 0xb51d90
fucomp st(0)
fnstsw ax
sahf
jnp 0xb507d6
jmp 0xb51d92
fstp st(0)
mov eax, dword [edi + 0x70]
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp - 0x1c0]
imul edx, eax
imul eax, dword [ebp - 0x1d0]
mov dword [esp + 4], 0
shl edx, 2
mov dword [esp + 8], edx
lea eax, [esi + eax*4]
mov dword [esp], eax
call sub.msvcrt.dll_memset
fldz
fst dword [edi + 0x378c]
fst dword [edi + 0x3788]
fst dword [edi + 0x3784]
fstp dword [edi + 0x3780]
jmp 0xb507d6
mov esi, dword [edi + 0x70]
mov edx, dword [ebp - 0x1d0]
cwde
mov ecx, dword [ebp - 0x1c0]
imul edx, esi
mov dword [ebp - 0x228], esi
mov esi, dword [edi + 0x90]
lea ecx, [ecx + edx*4]
imul edx, eax, 0x9a7
mov eax, esi
sar esi, 0x1f
mov dword [ebp - 0x224], ecx
mov dword [ebp - 0x1c4], edx
mov edx, 0x10624dd3
imul edx
mov eax, dword [ebp - 0x1c4]
sar edx, 6
sub edx, esi
mov ecx, edx
cdq
idiv ecx
mov edx, 0xf0000000
imul ecx, eax, 0xfffffe29
lea esi, [ecx + 0x10000000]
sub edx, ecx
add edx, edx
mov dword [ebp - 0x18c], edx
mov edx, esi
mov ecx, esi
sar edx, 0x16
sar ecx, 6
mov dword [ebp - 0x22c], esi
mov dword [ebp - 0x218], edx
mov edx, eax
mov dword [ebp - 0x214], ecx
mov ecx, edx
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x188], esi
sar ecx, 0xf
sar eax, 0x10
mov esi, ecx
mov ecx, edx
movsx edx, dx
mov dword [ebp - 0x1c4], ecx
movzx ecx, word [ebp - 0x1c4]
add esi, 1
mov dword [ebp - 0x230], eax
sar esi, 1
imul ecx, edx
imul edx, dword [ebp - 0x230]
sar ecx, 0x10
mov dword [ebp - 0x21c], ecx
mov ecx, eax
movzx eax, word [ebp - 0x214]
add ecx, esi
add edx, dword [ebp - 0x21c]
imul cx, word [ebp - 0x1c4]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x1c4]
add cx, word [ebp - 0x21c]
imul eax, esi
mov esi, dword [ebp - 0x214]
movsx ecx, cx
lea eax, [edx + eax - 0x800000]
mov edx, dword [ebp - 0x220]
sar eax, 0xf
imul edx, ecx
add eax, 1
imul ecx, dword [ebp - 0x218]
sar eax, 1
imul eax, esi
sar edx, 0x10
add edx, ecx
mov ecx, dword [ebp - 0x220]
add eax, edx
mov dword [ebp - 0x198], eax
movsx eax, si
imul ecx, eax
imul eax, dword [ebp - 0x218]
mov edx, ecx
sar edx, 0x10
add eax, edx
mov edx, dword [ebp - 0x22c]
sar edx, 0x15
add edx, 1
sar edx, 1
imul edx, esi
add eax, edx
lea edx, [ebp - 0x198]
mov dword [ebp - 0x194], eax
mov esi, dword [ebp - 0x228]
mov dword [ebp - 0x1c4], edx
mov ecx, edx
lea edx, [ebp - 0x190]
mov dword [esp + 0xc], esi
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x224]
mov dword [esp + 4], eax
lea eax, [edi + 0x3780]
mov dword [esp], eax
mov eax, dword [ebp + 0xc]
call fcn.00b4e510
cmp esi, 2
jne 0xb507cb
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], 2
mov esi, dword [ebp + 0x10]
add eax, 4
mov dword [esp + 8], esi
mov edx, dword [ebp - 0x224]
add edx, 4
mov dword [esp + 4], edx
lea edx, [edi + 0x3788]
mov dword [esp], edx
mov ecx, dword [ebp - 0x1c4]
lea edx, [ebp - 0x190]
call fcn.00b4e510
jmp 0xb507cb
mov esi, dword [ebp - 0x198]
mov dword [edi + 0x48], 0
test esi, esi
jne 0xb50ed0
mov eax, dword [edi + 0x90]
mov dword [edi + 0x46d8], 0
cdq
idiv dword [ebp + 0x10]
mov edx, dword [edi + 0x3770]
mov dword [esp], edx
mov ecx, dword [ebp - 0x1d8]
mov edx, eax
mov eax, ebx
call fcn.00b4e470
mov esi, dword [ebp + 0x14]
mov byte [esi], al
mov eax, 1
mov esp, dword [ebp - 0x21c]
jmp 0xb515ec
cmp dword [ebp - 0x1d4], 0x3e7f
jg 0xb5272e
mov dword [edi + 0x5c], 0
jmp 0xb5113e
mov eax, 0xfffffffd
jmp 0xb4fbaf
fstp st(0)
mov eax, dword [ebp - 0x19c]
mov edx, dword [edi + 0x90]
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], edx
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x70]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
fld dword [ebp - 0x1e8]
fstp dword [esp + 4]
fstp dword [esp]
mov eax, dword [ebp - 0x1c0]
mov edx, eax
call fcn.00b4e5b0
jmp 0xb51104
mov dword [edi + 0x37a0], 0x44f
jmp 0xb509d0
mov ebx, dword [ebp + 0x10]
mov eax, dword [edi + 0xb4]
imul ebx, dword [edi + 0x70]
and eax, 7
mov dword [esp + 8], ebx
mov esi, dword [ebp + 0xc]
mov dword [esp + 4], esi
mov esi, dword [ebp + 0xc]
mov dword [esp], esi
call dword [eax*4 + 0xe03000]
mov dword [ebp - 0x1bc], ebx
fild dword [ebp - 0x1bc]
fdivp st(1)
jmp 0xb4fe2e
mov eax, dword [edi + 0x3790]
mov dword [edi + 0x3794], eax
jmp 0xb51528
fld dword [edi + 0x3780]
mov ecx, dword [ebp + 0xc]
xor eax, eax
mov esi, dword [ebp + 0x10]
fld dword [edi + 0x3788]
fld dword [0xe08524]
jmp 0xb52116
fxch st(1)
fxch st(2)
fxch st(1)
fld dword [ecx + eax*8]
fld dword [ecx + eax*8 + 4]
fld st(1)
fsub st(5)
fstp dword [ebp - 0x1c4]
fld st(0)
fsub st(4)
fstp dword [edx + eax*8 + 4]
fxch st(4)
fmul st(5)
fxch st(1)
fmul st(6)
fadd st(2)
faddp st(1)
fxch st(2)
fmul st(4)
fxch st(3)
fmul st(5)
fadd st(1)
faddp st(3)
fld dword [ebp - 0x1c4]
fstp dword [edx + eax*8]
add eax, 1
cmp esi, eax
jg 0xb52110
fstp st(0)
fstp st(2)
fstp st(2)
fstp dword [edi + 0x3780]
fstp dword [edi + 0x3788]
jmp 0xb507cb
lea edx, [eax + 0x3e80]
jmp 0xb516d4
cmp dword [edi + 0x3770], 1
je 0xb51127
mov eax, dword [edi + 0x37b0]
test eax, eax
je 0xb52756
bsr eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x130]
xor eax, 0x1f
lea eax, [eax + edx - 0x20]
mov esi, dword [ebp - 0x1e4]
add eax, 0x25
lea edx, [esi*8]
cmp edx, eax
jl 0xb511a8
mov dword [esp + 8], 0xc
mov eax, dword [ebp - 0x1dc]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1cc]
mov dword [esp], eax
call fcn.00b472d0
jmp 0xb5118e
mov dword [ebp - 0x1c4], 0
jmp 0xb511e4
bsr eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x130]
xor eax, 0x1f
lea eax, [eax + edx - 0x19]
sar eax, 3
mov dword [ebp - 0x1bc], eax
mov ebx, eax
mov eax, dword [ebp - 0x1cc]
mov dword [esp], eax
call fcn.00b47650
jmp 0xb51208
mov edx, dword [ebp - 0x1f0]
mov eax, esi
lea ecx, [edi + 0x37c8]
imul eax, ebx
sub edx, ebx
mov ebx, dword [ebp - 0x1c0]
mov dword [esp], ecx
imul esi, edx
shl eax, 2
mov dword [esp + 8], eax
lea edx, [ebx + esi*4]
mov dword [esp + 4], edx
call sub.msvcrt.dll_memcpy
jmp 0xb510dc
mov ebx, dword [ebp - 0x1ec]
test ebx, ebx
je 0xb52bd3
mov eax, dword [edi + 0x46cc]
add eax, 1
cmp eax, 0xa
mov dword [edi + 0x46cc], eax
jle 0xb52cf5
cmp eax, 0x1e
jle 0xb52b92
mov edx, dword [ebp - 0x128]
mov dword [edi + 0x46cc], 0xa
mov eax, dword [ebp - 0x130]
bsr edx, edx
mov ecx, dword [ebp - 0x1e4]
xor edx, 0x1f
lea eax, [edx + eax - 0x20]
shl ecx, 3
cmp ecx, eax
jge 0xb5158e
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1bc], 1
mov byte [eax + 1], 0
mov dword [edi + 0x46d8], 0
jmp 0xb515ce
sub eax, 0xfa0
jmp 0xb51963
add eax, 0x1f40
jmp 0xb51946
mov eax, ebx
imul esi
mov eax, ebx
sar eax, 0x1f
sar edx, 3
sub edx, eax
mov dword [ebp - 0x1c0], edx
jmp 0xb50300
mov eax, 0xfffffffd
jmp 0xb5201f
mov eax, dword [ebp - 0x19c]
mov edx, 0x51eb851f
mov ecx, dword [edi + 0xac]
sub ecx, dword [edi + 0x74]
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x1c4], eax
mov eax, ebx
imul edx
mov eax, ebx
sar eax, 0x1f
mov dword [ebp - 0x220], eax
sar edx, 7
sub eax, edx
add ecx, eax
imul ecx, dword [ebp - 0x214]
shl ecx, 2
mov eax, ecx
lea ecx, [edi + 0x37c8]
mov dword [ebp - 0x1fc], eax
add ecx, eax
mov eax, ecx
mov ecx, dword [ebp - 0x1c4]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x14], ebx
mov ebx, dword [ebp - 0x1c4]
mov ebx, dword [ebx + 0x3c]
mov dword [esp + 0x10], ebx
mov ebx, dword [ebp - 0x214]
mov dword [esp + 0xc], ebx
sub edx, dword [ebp - 0x220]
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
mov dword [esp + 8], edx
mov edx, eax
call fcn.00b4e5b0
mov ebx, dword [ebp - 0x1fc]
lea eax, [edi + 0x37c8]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], ebx
call sub.msvcrt.dll_memset
mov edx, dword [edi + 0xac]
mov eax, dword [edi + 0x70]
imul eax, edx
test eax, eax
jle 0xb5243c
xor ecx, ecx
fld dword [0xe08570]
jmp 0xb52420
fld dword [0xe0856c]
fucom st(1)
fnstsw ax
sahf
ja 0xb52401
fstp st(1)
jmp 0xb52403
fstp st(0)
fistp dword [ebp - 0x190]
mov eax, dword [ebp - 0x190]
mov word [esi + ecx*2], ax
mov eax, dword [edi + 0x70]
add ecx, 1
imul eax, edx
cmp eax, ecx
jle 0xb5243a
fld dword [0xe0852c]
fmul dword [edi + ecx*4 + 0x37c8]
fucom st(1)
fnstsw ax
sahf
ja 0xb523f0
fstp st(0)
fld st(0)
jmp 0xb52403
fstp st(0)
mov ebx, dword [ebp - 0x218]
lea eax, [edi + 8]
mov dword [ebp - 0x1fc], eax
mov dword [esp + 0x1c], ebx
mov ebx, dword [ebp - 0x208]
mov dword [esp + 0x18], ebx
lea ebx, [ebp - 0x198]
mov dword [ebp - 0x1c4], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x204]
mov dword [esp], eax
call fcn.00b5baa0
mov dword [edi + 0x48], 0
jmp 0xb50d6f
cmp dword [ebp - 0x1bc], 0x32
jle 0xb524bc
mov ecx, dword [ebp - 0x1fc]
mov edx, 0x55555556
add ecx, ecx
mov eax, ecx
sar ecx, 0x1f
imul edx
sub edx, ecx
mov dword [ebp - 0x1fc], edx
cmp dword [ebp - 0x1fc], 0x1f3f
jg 0xb50d06
mov eax, dword [edi + 0x1c]
mov dword [edi + 0x14], 0x2ee0
cmp eax, 0x2ee0
jle 0xb524e2
mov eax, 0x2ee0
cmp dword [ebp - 0x1fc], 0x1b57
mov dword [edi + 0x1c], eax
jg 0xb50d06
cmp eax, 0x1f40
mov dword [edi + 0x14], 0x1f40
jle 0xb52508
mov eax, 0x1f40
mov dword [edi + 0x1c], eax
jmp 0xb50d06
mov eax, dword [edi + 0x94]
xor ecx, ecx
mov dword [ebp - 0x220], eax
mov edx, eax
imul eax, dword [ebp + 0x10], 0x32
cmp dword [edi + 0x90], eax
mov eax, dword [edi + 0x3770]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x34]
mov dword [esp], edx
sete cl
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x1d8]
mov eax, ebx
call fcn.00b4e6e0
mov edx, dword [edi + 0x37b0]
mov dword [edi + 0x24], eax
test edx, edx
je 0xb52d6b
mov eax, dword [edi + 0x3790]
fld1
fstp dword [ebp - 0x1e8]
mov dword [ebp - 0x1c4], eax
jmp 0xb508b1
mov dword [edi + 0x1c], 0x1f40
jmp 0xb50cd8
mov dword [esp], 0x3c
call fcn.00b60250
shl eax, 8
jmp 0xb50713
mov ecx, dword [edi + 0x90]
mov edx, 0x51eb851f
mov eax, ecx
sar ecx, 0x1f
imul edx
mov eax, edx
sar edx, 7
sar eax, 6
sub edx, ecx
sub eax, ecx
mov dword [ebp - 0x1d0], edx
mov dword [ebp - 0x1c4], eax
mov dword [esp + 4], 0xfbc
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x271a
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x2712
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xfa6
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0xfa2
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
cmp dword [edi + 0x3790], 0x3e9
je 0xb52c97
lea eax, [ebp - 0x190]
mov dword [ebp - 0x1cc], ebx
mov ebx, dword [ebp + 0x10]
sub ebx, dword [ebp - 0x1c4]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], eax
mov ecx, dword [ebp - 0x1d0]
mov edx, ebx
mov dword [esp + 8], ecx
mov eax, dword [edi + 0x70]
sub edx, ecx
mov ecx, dword [ebp - 0x1c0]
imul eax, edx
lea eax, [ecx + eax*4]
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x1c8]
mov dword [esp], edx
call fcn.00b40790
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
mov edx, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x210]
add eax, edx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c4]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x70]
mov ecx, dword [ebp - 0x1c0]
imul eax, ebx
lea eax, [ecx + eax*4]
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x1c8]
mov dword [esp], edx
call fcn.00b40790
test eax, eax
js 0xb51ca9
lea eax, [ebp - 0x1a0]
mov dword [esp + 4], 0xfbf
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
jmp 0xb514cf
mov esi, dword [ebp - 0x1d4]
mov eax, 0x7d00
sub eax, esi
lea ecx, [esi - 0x36b0]
shl eax, 0xb
cdq
idiv ecx
mov edx, 0x4000
sub edx, eax
mov dword [edi + 0x5c], edx
jmp 0xb5113e
cmp dword [edi + 0x70], 2
jne 0xb5114c
movzx eax, word [edi + 0x3774]
cmp ax, 0x3fff
jle 0xb5277a
cmp dword [edi + 0x5c], 0x3fff
jg 0xb5114c
mov word [ebp - 0x1bc], ax
mov eax, dword [edi + 0x5c]
mov esi, 0xbb80
fild word [ebp - 0x1bc]
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x1bc], eax
mov eax, esi
cdq
fild dword [ebp - 0x1bc]
mov ebx, dword [ecx + 0x3c]
idiv dword [edi + 0x90]
fld dword [0xe085a4]
fmul st(2), st(0)
mov esi, eax
mov eax, dword [ecx + 4]
fld1
cdq
fsubr st(3), st(0)
fxch st(2)
idiv esi
fmulp st(1)
test eax, eax
mov ecx, eax
mov dword [ebp - 0x1d0], eax
fsubp st(1)
jle 0xb52dcb
mov edx, ebx
mov ebx, dword [ebp - 0x1c0]
fld dword [0xe08530]
shl esi, 2
mov eax, ebx
lea ebx, [ebx + ecx*8 + 4]
add eax, 4
fld dword [edx]
add eax, 8
add edx, esi
fmul st(0)
fld dword [eax - 0xc]
fld dword [eax - 8]
fld st(1)
fsub st(1)
fmul st(4)
fld st(3)
fsubr dword [0xe08528]
fmul st(7)
fxch st(4)
fmul st(6)
faddp st(4)
fmulp st(3)
fxch st(1)
fsub st(2)
fstp dword [eax - 0xc]
faddp st(1)
fstp dword [eax - 8]
cmp ebx, eax
jne 0xb527f1
fstp st(0)
fstp st(1)
cmp dword [ebp + 0x10], ecx
jle 0xb52875
mov esi, dword [ebp - 0x1c0]
mov ebx, dword [ebp - 0x1d0]
fld dword [0xe08530]
lea eax, [esi + ebx*8 + 4]
mov ebx, dword [ebp + 0x10]
lea edx, [esi + ebx*8 + 4]
fld dword [eax - 4]
add eax, 8
fld dword [eax - 8]
fld st(1)
fsub st(1)
fmul st(3)
fmul st(4)
fsub st(2), st(0)
fxch st(2)
fstp dword [eax - 0xc]
faddp st(1)
fstp dword [eax - 8]
cmp eax, edx
jne 0xb5284e
fstp st(0)
fstp st(0)
jmp 0xb52877
fstp st(0)
movzx eax, word [ebp - 0x1bc]
mov word [edi + 0x3774], ax
jmp 0xb5114c
mov dword [edi + 0x1c], 0x2ee0
jmp 0xb50cd8
mov eax, dword [edi + 0x50]
cmp eax, 0x1f40
je 0xb52b07
cmp eax, 0x2ee0
je 0xb52bf9
cmp eax, 0x3e80
jne 0xb50e5a
mov dword [ebp - 0x1d8], 0x44f
jmp 0xb50e5a
mov ecx, dword [edi + 0x94]
test ecx, ecx
jne 0xb52b4c
mov eax, dword [edi + 0x90]
mov esi, dword [edi + 0x70]
mov edx, 0x51eb851f
mov dword [ebp - 0x1fc], esp
mov dword [ebp - 0x1bc], eax
imul eax, esi
mov ecx, eax
imul edx
sar ecx, 0x1f
mov eax, edx
sar eax, 7
sub eax, ecx
shl eax, 2
mov dword [ebp - 0x1c4], eax
add eax, 0x12
shr eax, 4
shl eax, 4
call fcn.00bd0e20
sub esp, eax
lea eax, [esp + 0x34]
mov dword [ebp - 0x204], eax
jmp 0xb51005
mov esi, dword [ebp - 0x1b8]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
call fcn.00b3bc70
test eax, eax
jne 0xb51ca9
mov eax, esi
jmp 0xb515e6
mov eax, dword [edi + 0x64]
mov dword [ebp - 0x190], eax
mov eax, dword [edi + 0x68]
mov dword [ebp - 0x18c], eax
lea eax, [ebp - 0x190]
mov dword [esp + 4], 0x272c
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
jmp 0xb5124e
imul eax, dword [ebp + 0x10], 0x32
cmp eax, ebx
sete al
movzx eax, al
mov dword [ebp - 0x1fc], eax
mov eax, dword [edi + 0x40]
imul eax, ebx
cdq
idiv dword [ebp + 0x10]
mov dword [esp + 8], ecx
mov edx, dword [edi + 0x34]
mov dword [esp + 4], edx
mov edx, dword [ebp - 0x1c4]
mov dword [esp], edx
mov edx, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1fc]
call fcn.00b4e6e0
imul eax, dword [ebp + 0x10]
cdq
idiv ebx
jmp 0xb51c0f
mov edx, dword [ebp - 0x1c4]
mov dword [edi + 0x40], eax
test edx, edx
jne 0xb52989
mov dword [ebp - 0x1fc], eax
jmp 0xb51bf9
mov dword [esp + 8], 1
mov dword [esp + 4], 0xfa6
mov esi, dword [ebp - 0x1c8]
mov dword [esp], esi
call fcn.00b466f0
mov eax, dword [edi + 0x98]
mov dword [esp + 4], 0xfb4
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00b466f0
mov eax, dword [edi + 0xa0]
mov dword [esp + 4], 0xfa2
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00b466f0
mov ebx, dword [edi + 0x3790]
jmp 0xb50fa7
mov dword [esp + 8], 1
mov eax, dword [ebp - 0x20c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1cc]
mov dword [esp], eax
call fcn.00b472d0
mov eax, dword [edi + 0x3790]
cmp eax, 0x3e9
je 0xb52c08
bsr edx, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x130]
mov esi, dword [ebp - 0x1e4]
mov ebx, dword [ebp - 0x1f4]
xor edx, 0x1f
lea edx, [edx + ecx - 0x19]
sar edx, 3
sub esi, edx
cmp esi, ebx
jle 0xb52aa7
mov esi, ebx
cmp esi, 2
jl 0xb52ceb
cmp esi, 0x101
jle 0xb52abd
mov esi, 0x101
movzx ebx, byte [ebp - 0x20c]
and ebx, 1
mov byte [ebp - 0x1e0], bl
jmp 0xb511c4
fld dword [0xe0854c]
mov ecx, 0xd
fld dword [0xe08550]
jmp 0xb50900
lea ecx, [edx + edx*2]
mov edx, 0x66666667
mov eax, ecx
sar ecx, 0x1f
imul edx
mov eax, edx
sar eax, 1
sub eax, ecx
add ebx, eax
mov dword [edi + 0x24], ebx
jmp 0xb50c70
mov dword [ebp - 0x1d8], 0x44d
jmp 0xb50e5a
test eax, eax
je 0xb5144d
mov eax, dword [edi + 0xa0]
sub eax, dword [edi + 0x24]
mov dword [esp + 4], 0xfa2
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call fcn.00b466f0
mov eax, dword [edi + 0x94]
jmp 0xb5144d
mov eax, dword [edi + 0xa0]
sub eax, dword [edi + 0x24]
mov dword [esp + 4], 0xfa2
mov dword [esp + 8], eax
mov esi, dword [ebp - 0x1c8]
mov dword [esp], esi
call fcn.00b466f0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xfb4
mov dword [esp], esi
call fcn.00b466f0
mov ebx, dword [edi + 0x3790]
jmp 0xb50fa7
mov eax, dword [edi + 0x90]
mov dword [edi + 0x46d8], 0
cdq
idiv dword [ebp + 0x10]
mov edx, dword [edi + 0x3770]
mov ebx, eax
mov eax, dword [edi + 0x3790]
mov dword [esp], edx
mov ecx, dword [ebp - 0x1d8]
mov edx, ebx
call fcn.00b4e470
mov esi, dword [ebp + 0x14]
mov byte [esi], al
mov eax, 1
jmp 0xb515e6
fld dword [ebp - 0x160]
fld dword [0xe08574]
fucompp
fnstsw ax
sahf
ja 0xb52d00
mov dword [edi + 0x46cc], 0
jmp 0xb5229c
mov dword [ebp - 0x1d8], 0x44e
jmp 0xb50e5a
bsr eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x130]
mov esi, dword [ebp - 0x1e4]
xor eax, 0x1f
lea eax, [eax + edx - 0xe]
sar eax, 3
sub esi, eax
mov eax, dword [ebp - 0x1f4]
cmp esi, eax
jle 0xb52c33
mov esi, eax
cmp esi, 2
jl 0xb52dc1
cmp esi, 0x101
jle 0xb52c49
mov esi, 0x101
lea eax, [esi - 2]
mov dword [esp + 8], 0x100
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1cc]
mov dword [esp], eax
call fcn.00b47460
movzx ebx, byte [ebp - 0x20c]
mov eax, dword [edi + 0x3790]
and ebx, 1
mov byte [ebp - 0x1e0], bl
jmp 0xb511c4
fld dword [0xe0855c]
mov ecx, 0xf
fld dword [0xe08560]
jmp 0xb50900
mov ebx, dword [ebp - 0x1bc]
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x1cc]
mov dword [esp], eax
call fcn.00b475f0
jmp 0xb52660
mov eax, dword [edi + 0x94]
test eax, eax
je 0xb514ba
mov dword [esp + 8], esi
mov ecx, dword [ebp - 0x210]
mov eax, ecx
add eax, ebx
add ebx, esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1bc]
add eax, ecx
mov dword [esp], eax
call sub.msvcrt.dll_memmove
jmp 0xb514ba
mov esi, 2
jmp 0xb52abd
mov edx, dword [ebp - 0x128]
jmp 0xb5229c
mov ebx, dword [ebp + 0x10]
fld dword [edi + 0x46d0]
imul ebx, dword [edi + 0x70]
fstp dword [ebp - 0x1c4]
mov eax, dword [edi + 0xb4]
and eax, 7
mov dword [esp + 8], ebx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 4], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp], ecx
call dword [eax*4 + 0xe03000]
mov dword [ebp - 0x1c0], ebx
fild dword [ebp - 0x1c0]
fdivp st(1)
fmul dword [0xe085a8]
fld dword [ebp - 0x1c4]
fucompp
fnstsw ax
sahf
jae 0xb5226b
mov edx, dword [ebp - 0x128]
jmp 0xb52bea
fldz
jmp 0xb50bf6
sub eax, ebx
mov dword [ebp - 0x1c4], eax
fild dword [ebp - 0x1c4]
fmul dword [0xe08590]
fld qword [0xe08598]
fmulp st(1)
fstp qword [esp]
call sub.msvcrt.dll_exp
fstp dword [ebp - 0x1ac]
mov eax, dword [edi + 0x70]
fld dword [ebp - 0x1ac]
mov dword [ebp - 0x214], eax
mov eax, dword [edi + 0x3790]
fsubr dword [0xe08528]
mov dword [ebp - 0x1c4], eax
fstp dword [ebp - 0x1e8]
jmp 0xb50897
mov esi, 2
jmp 0xb52c49
fstp st(1)
mov dword [ebp - 0x1d0], 0
jmp 0xb52831
cmp dword [ebp - 0x1f0], 0x3ea
mov dword [edi + 0x37a4], eax
mov dword [edi + 0x37a0], eax
setne dl
cmp dword [ebp - 0x200], 0
sete bl
and bl, dl
je 0xb500a8
mov esi, dword [edi + 0x58]
test esi, esi
sete cl
cmp eax, 0x44f
setg dl
and dl, cl
je 0xb52e4b
mov dword [edi + 0x37a0], 0x44f
mov eax, 0x44f
jmp 0xb500a8
mov dword [esp + 8], 0x747
mov dword [esp + 4], str.src_opus_encoder.c
mov dword [esp], str.assertion_failed:_st__silk_mode.internalSampleRate__16000
call fcn.00b371e0
mov edx, ebx
jmp 0xb500a8
mov dword [esi + 0x88], 0x3ea
jmp 0xb504df
mov dword [esp + 8], 0x6db
mov dword [esp + 4], str.src_opus_encoder.c
mov dword [esp], str.assertion_failed:_st__mode__MODE_HYBRID__curr_bandwidth__OPUS_BANDWIDTH_WIDEBAND
call fcn.00b371e0
cmp ecx, 0x3e9
sete al
cmp dword [ebp - 0x1d8], 0x44f
setle dl
jmp 0xb50592
mov eax, dword [edi + 0x37ac]
mov dword [ebp - 0x208], 1
mov dword [ebp - 0x200], eax
mov eax, dword [edi + 0x90]
mov dword [ebp - 0x1c0], eax
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x1d8], eax
jmp 0xb4ffeb