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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xd0
mov eax, dword [0x4d67a4]
push ebx
push ebp
push esi
mov ecx, dword [eax]
push edi
cmp ecx, 5
je 0x4795c3
xor ebp, ebp
cmp word [0x4b6da6], bp
je 0x4768b6
mov eax, dword [0x74c7b0]
mov word [0x4b6da6], bp
push ebp
push 7
mov ecx, dword [eax]
push eax
call dword [ecx + 0x58]
inc dword [0x74c67c]
mov ecx, dword [0x784eb0]
cmp ecx, 8
je 0x476916
cmp ecx, 9
je 0x476916
fld dword [0x784e50]
fmul dword [0x4b02a0]
push ebp
push ebp
push ecx
fstp dword [esp]
fld dword [0x784e4c]
fmul dword [0x4b0630]
push ecx
fstp dword [esp]
fld dword [0x784e50]
fmul dword [0x4b062c]
push ecx
fstp dword [esp]
fld dword [0x784e4c]
fmul dword [0x4b0464]
push ecx
fstp dword [esp]
call fcn.0045d6e0
mov ecx, dword [0x784eb0]
add esp, 0x18
mov esi, dword [0x82d984]
mov ebx, 3
mov eax, dword [esi + 0x4200]
cmp eax, ebp
mov eax, dword [0x4d6ab4]
je 0x4769dd
cmp eax, 2
je 0x47694a
cmp eax, ebp
je 0x47694a
cmp eax, 4
je 0x47694a
cmp eax, ebx
jne 0x4769dd
cmp ecx, ebx
jne 0x476968
fld dword [0x4b0390]
fild dword [0x76fa24]
fmul dword [0x4b0464]
fadd dword [0x4b023c]
jmp 0x476980
fld dword [0x4b0628]
fild dword [0x76fa24]
fmul dword [0x4b00a0]
fadd dword [0x4b0624]
fld dword [0x784e50]
push ebp
push ebp
fmul st(1)
push ecx
fstp dword [esp]
push ecx
fstp st(0)
fld dword [0x784e4c]
fmul dword [0x4b0620]
fstp dword [esp]
fld dword [0x7ac6fc]
fadd st(1)
push ecx
fmul dword [0x784e50]
fstp dword [esp]
push ecx
fstp st(0)
fld dword [0x784e4c]
fmul dword [0x4b061c]
fstp dword [esp]
call fcn.0045d6e0
mov ecx, dword [0x784eb0]
mov esi, dword [0x82d984]
mov eax, dword [0x4d6ab4]
add esp, 0x18
cmp ecx, 7
jne 0x476c87
cmp eax, 4
je 0x4769f4
cmp eax, 5
jne 0x476bb9
cmp dword [esi + 0x4204], ebx
jae 0x476bb9
mov eax, dword [0x4d6abc]
push ebp
fld dword [0x784e50]
fmul dword [0x4b0618]
lea ecx, [eax*8]
push ebp
sub ecx, eax
mov eax, 0x190
shl ecx, 3
push ecx
sub eax, ecx
lea edx, [ecx + 0xf0]
fstp dword [esp]
mov dword [esp + 0x20], edx
push ecx
fild dword [esp + 0x24]
cdq
fadd dword [0x4b0290]
sub eax, edx
sar eax, 1
fmul dword [0x784e4c]
mov dword [esp + 0x24], eax
fstp dword [esp]
fld dword [0x784e50]
fmul dword [0x4b04f8]
push ecx
fstp dword [esp]
fild dword [esp + 0x28]
push ecx
fsub dword [0x4b00c8]
fadd dword [0x7ac700]
fmul dword [0x784e4c]
fstp dword [esp]
call fcn.0045d6e0
mov ecx, dword [0x4d6ab8]
add esp, 0x18
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x4b4470]
mov eax, dword [0x4d6abc]
dec ecx
cmp eax, ecx
jne 0x476aec
mov edx, dword [0x785a00]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
mov esi, dword [0x7859fc]
not ecx
dec ecx
mov edi, esi
mov ebp, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, esi
cmp ecx, ebp
ja 0x476ad2
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
xor ebp, ebp
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebp
fild qword [esp + 0x14]
jmp 0x476b30
mov edx, dword [0x7859f8]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
mov esi, dword [0x7859f4]
not ecx
dec ecx
mov edi, esi
mov ebp, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, esi
cmp ecx, ebp
ja 0x476b18
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
xor ebp, ebp
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebp
fild qword [esp + 0x14]
fld dword [0x784e50]
fmul dword [0x4b02a0]
push ebp
push ebp
push ecx
fstp dword [esp]
push ecx
fld st(0)
fadd dword [0x4b0018]
fmul dword [0x4b0030]
fmul dword [0x784e4c]
fstp dword [esp]
fld dword [0x784e50]
fmul dword [0x4b0494]
push ecx
fstp dword [esp]
push ecx
fmul dword [0x4b0030]
fsubr dword [0x4b0304]
fmul dword [0x4b000c]
fsub dword [0x4b00c8]
fsub dword [0x7ac700]
fadd dword [0x4b0030]
fmul dword [0x784e4c]
fstp dword [esp]
call fcn.0045d6e0
mov eax, dword [0x784eb0]
mov esi, dword [0x82d984]
add esp, 0x18
cmp eax, 7
jne 0x476c87
mov eax, dword [0x4d6ab4]
cmp eax, ebx
je 0x476bc6
cmp eax, 5
jne 0x476c87
cmp dword [esi + 0x4204], ebx
jb 0x476c87
cmp dword [0x7b561c], 0xffffffff
je 0x476c87
mov edx, dword [0x785a04]
push ebp
push ebp
push ecx
fld dword [0x784e50]
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x24], ebp
fmul dword [0x4b03d0]
repne scasb al, byte es:[edi]
fstp dword [esp]
not ecx
dec ecx
mov edi, edx
mov dword [esp + 0x20], ecx
push ecx
fild qword [esp + 0x24]
mov dword [esp + 0x28], ebp
fadd dword [0x4b0018]
fmul dword [0x4b0030]
fmul dword [0x784e4c]
fstp dword [esp]
fld dword [0x784e50]
push ecx
or ecx, 0xffffffff
fmul dword [0x4b0494]
repne scasb al, byte es:[edi]
fstp dword [esp]
not ecx
dec ecx
mov dword [esp + 0x28], ecx
push ecx
fild qword [esp + 0x2c]
fmul dword [0x4b0030]
fsubr dword [0x4b0304]
fmul dword [0x4b000c]
fsub dword [0x4b00c8]
fsub dword [0x7ac700]
fadd dword [0x4b0030]
fmul dword [0x784e4c]
fstp dword [esp]
call fcn.0045d6e0
mov esi, dword [0x82d984]
add esp, 0x18
mov eax, dword [0x7ac710]
cmp eax, 0x7d0
je 0x476d2f
test al, 0x80
je 0x476d2f
mov edx, dword [0x785a30]
push ebp
push ebp
push ecx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x24], ebp
fld dword [0x784e50]
repne scasb al, byte es:[edi]
fmul dword [0x4b03d0]
fstp dword [esp]
not ecx
dec ecx
mov edi, edx
push ecx
mov edx, 0x280
lea eax, [ecx*8 + 0x10]
mov dword [esp + 0x24], eax
xor eax, eax
fild qword [esp + 0x24]
mov dword [esp + 0x28], ebp
fmul dword [0x784e4c]
fstp dword [esp]
push ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
fld dword [0x784e50]
fmul dword [0x4b0614]
fstp dword [esp]
not ecx
dec ecx
shl ecx, 3
sub edx, ecx
push ecx
shr edx, 1
sub edx, 8
mov dword [esp + 0x2c], edx
fild qword [esp + 0x2c]
fmul dword [0x784e4c]
fstp dword [esp]
call fcn.0045d6e0
mov esi, dword [0x82d984]
add esp, 0x18
mov ax, word [0x4b6da0]
mov edi, 0x1b
cmp ax, 2
je 0x476d9f
cmp ax, bp
jne 0x476d59
mov eax, dword [0x74c7b0]
push 1
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
inc dword [0x74c67c]
mov eax, dword [0x74c7b0]
push 4
push 4
push ebp
mov edx, dword [eax]
push eax
call dword [edx + 0xa0]
mov eax, dword [0x74c67c]
push ebp
inc eax
push 0x18
mov dword [0x74c67c], eax
mov eax, dword [0x74c7b0]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov eax, dword [0x74c67c]
mov esi, dword [0x82d984]
inc eax
mov word [0x4b6da0], 2
mov dword [0x74c67c], eax
mov ecx, 5
cmp word [0x4b6da2], cx
je 0x476dd3
mov eax, dword [0x74c7b0]
mov word [0x4b6da2], cx
push ecx
push 0x13
mov edx, dword [eax]
push eax
call dword [edx + 0x58]
mov eax, dword [0x74c67c]
mov esi, dword [0x82d984]
inc eax
mov dword [0x74c67c], eax
mov ecx, 6
cmp word [0x4b6da4], cx
je 0x476e07
mov eax, dword [0x74c7b0]
mov word [0x4b6da4], cx
push ecx
push 0x14
mov edx, dword [eax]
push eax
call dword [edx + 0x58]
mov eax, dword [0x74c67c]
mov esi, dword [0x82d984]
inc eax
mov dword [0x74c67c], eax
cmp word [0x4b6d9c], di
je 0x476e44
mov edx, dword [0x847288]
mov eax, dword [0x74c7b0]
mov word [0x4b6d9c], di
mov edx, dword [edx + 0x11e0]
mov ecx, dword [eax]
push edx
push ebp
push eax
call dword [ecx + 0x98]
mov eax, dword [0x74c678]
mov esi, dword [0x82d984]
inc eax
mov dword [0x74c678], eax
cmp dword [0x784eb0], 9
jne 0x476eeb
mov eax, dword [0x77daf8]
xor edi, edi
test eax, eax
mov dword [esp + 0x1c], edi
jle 0x476eeb
mov ecx, dword [0x77daf4]
xor eax, eax
test ecx, ecx
jle 0x476e80
movsx edx, byte [eax + 0x77dafc]
cmp edx, edi
je 0x476e80
inc eax
cmp eax, ecx
jl 0x476e70
push 0xc0ffffff
push 0x3d600000
cmp eax, ecx
push 0x3d600000
push 0x3f710000
jne 0x476e9f
push 0x3e820000
jmp 0x476ea4
push 0x3ea20000
fild dword [esp + 0x30]
push 0x41800000
push 0x41800000
push 0x41800000
push ecx
fmul dword [0x4b0290]
fadd dword [0x4b00a0]
fstp dword [esp]
call fcn.004795d0
mov eax, dword [0x77daf8]
add esp, 0x24
inc edi
cmp edi, eax
mov dword [esp + 0x1c], edi
jl 0x476e64
mov ebx, dword [0x784eb0]
mov esi, dword [0x82d984]
jmp 0x476ef1
mov ebx, dword [0x784eb0]
mov eax, 0x1c
cmp word [0x4b6d9c], ax
je 0x476f39
mov edx, dword [0x847288]
mov word [0x4b6d9c], ax
mov eax, dword [0x74c7b0]
mov edx, dword [edx + 0x1284]
mov ecx, dword [eax]
push edx
push 0
push eax
call dword [ecx + 0x98]
mov eax, dword [0x74c678]
mov ebx, dword [0x784eb0]
mov esi, dword [0x82d984]
inc eax
mov dword [0x74c678], eax
cmp ebx, 8
mov ebp, 0x3f800000
je 0x4772a5
mov edi, dword [0x7ac694]
cmp ebx, 9
je 0x477025
cmp edi, dword [esi + 0x40cc]
je 0x4770b0
fld dword [0x4ba884]
fadd dword [0x7ac698]
fst dword [0x7ac698]
fcomp dword [0x4b0018]
fnstsw ax
test ah, 1
jne 0x476f90
xor eax, eax
test edi, edi
sete al
mov edi, eax
mov dword [0x7ac694], edi
test edi, edi
je 0x477025
mov ecx, dword [0x84751c]
push 0
push 0x3e8
push 0
push ecx
call fcn.004a4e00
mov ecx, dword [0x847520]
push 0
push ecx
push edx
push eax
call fcn.004a4d50
test ah, 1
je 0x477025
mov eax, dword [0x784edc]
test eax, eax
jne 0x477025
mov eax, dword [esi + 0x4200]
test eax, eax
jne 0x477025
mov eax, dword [0x8472f0]
test eax, eax
jne 0x477025
push 0xc0ffffff
push 0x3e780000
push 0x3e780000
push 0x3e820000
push 0x3f010000
push 0x42800000
push 0x42800000
push 0x41800000
push 0x43900000
call fcn.004795d0
mov ebx, dword [0x784eb0]
mov esi, dword [0x82d984]
mov edi, dword [0x7ac694]
add esp, 0x24
cmp ebx, 8
je 0x4772a5
cmp ebx, 9
je 0x477171
mov eax, dword [esi + 0x4210]
test eax, eax
je 0x477171
mov ecx, dword [esi + 0x4200]
test ecx, ecx
jne 0x477171
test edi, edi
jne 0x47712c
mov esi, dword [esi + 0x420c]
shl esi, 4
add esi, 0x4c0abc
fld dword [esi]
fmul dword [0x4b0320]
add esi, 4
add esi, 4
cmp eax, 0x200
fstp dword [esp + 0x1c]
fld dword [esi - 4]
fmul dword [0x4b0320]
fstp dword [esp + 0x34]
fld dword [esi]
fmul dword [0x4b0320]
fstp dword [esp + 0x28]
fld dword [esi + 4]
fmul dword [0x4b0320]
fstp dword [esp + 0x20]
jle 0x4770bf
neg eax
shl eax, 0x19
jmp 0x4770d0
mov dword [0x7ac698], 0
jmp 0x476f90
cmp eax, 0x80
jge 0x4770cb
shl eax, 0x19
jmp 0x4770d0
mov eax, 0xff000000
mov ecx, dword [0x784ed0]
or eax, 0xffffff
test ecx, ecx
je 0x4770f5
fld dword [esp + 0x28]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x28]
fchs
fstp dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x24]
push eax
push ecx
push edx
push 0x42800000
push 0x42800000
push 0x41800000
push 0x43900000
call fcn.004795d0
mov esi, dword [0x82d984]
add esp, 0x24
fld dword [0x4ba884]
fmul dword [0x4b0610]
call fcn.004a4cf8
mov ecx, dword [esi + 0x4210]
add ecx, eax
mov dword [esi + 0x4210], ecx
mov esi, dword [0x82d984]
mov eax, dword [esi + 0x4210]
test eax, eax
jge 0x47716b
mov dword [esi + 0x4210], 0
mov esi, dword [0x82d984]
mov ebx, dword [0x784eb0]
cmp ebx, 8
je 0x4772a5
cmp ebx, 9
je 0x4772a5
cmp ebx, 6
je 0x4772ae
mov ecx, dword [0x784ed0]
mov dword [esp + 0x1c], 0
mov eax, 0x745bac
test ecx, ecx
je 0x4771ab
fld dword [0x4b01f0]
jmp 0x4771b1
fld dword [0x4b0018]
fild dword [esp + 0x1c]
mov ebx, dword [esp + 0x1c]
add eax, 0x20
inc ebx
cmp eax, 0x745c2c
fmul dword [0x4b060c]
mov dword [esp + 0x1c], ebx
fst dword [esp + 0x14]
fadd dword [esi + 0x40e4]
fsin
fmul st(1)
fmul dword [0x4b0094]
fsubr dword [0x4b0494]
fmul dword [0x784e4c]
fadd dword [0x767078]
fstp dword [eax - 0x24]
fstp st(0)
fld dword [esp + 0x14]
fadd dword [esi + 0x40e4]
fcos
fmul dword [0x4b0094]
fadd dword [0x4b0608]
fmul dword [0x784e50]
fadd dword [0x767328]
fstp dword [eax - 0x20]
mov dword [eax - 0x18], ebp
mov dword [eax - 0x14], 0xc0ffffff
jl 0x47719f
mov eax, dword [0x74c7b0]
push 0xc
push 4
push 0x745ba8
mov dword [0x745c20], 0x3c000000
mov dword [0x745bc0], 0x3c000000
mov dword [0x745c00], 0x3e780000
mov dword [0x745be0], 0x3e780000
mov dword [0x745be4], 0x3e840000
mov dword [0x745bc4], 0x3e840000
mov dword [0x745c24], 0x3efc0000
mov dword [0x745c04], 0x3efc0000
mov ecx, dword [eax]
push 0x1c4
push 6
push eax
call dword [ecx + 0x70]
mov esi, dword [0x82d984]
mov ebx, dword [0x784eb0]
cmp ebx, 6
jne 0x47744a
mov eax, dword [0x4c6518]
test eax, eax
je 0x47744a
mov ecx, dword [eax + 0x25c]
cmp ecx, esi
je 0x47744a
mov edx, dword [esi + 0x4200]
test edx, edx
jne 0x47744a
mov edx, dword [ecx + 0x398]
mov ecx, dword [esi + 0x398]
fld dword [edx + 0x14]
fsub dword [ecx + 0x14]
fstp dword [esp + 0xc8]
mov edx, dword [eax + 0x25c]
mov ecx, dword [edx + 0x398]
mov edx, dword [esi + 0x398]
fld dword [ecx + 0x18]
fsub dword [edx + 0x18]
fstp dword [esp + 0xcc]
mov eax, dword [eax + 0x25c]
mov edx, dword [esi + 0x398]
mov ecx, dword [eax + 0x398]
lea eax, [esp + 0xd4]
push eax
fld dword [ecx + 0x1c]
fsub dword [edx + 0x1c]
lea ecx, [esp + 0xcc]
push ecx
fstp dword [esp + 0xd8]
mov edx, dword [esi + 0x398]
add edx, 0x54
push edx
call fcn.00443520
fld dword [esp + 0xe0]
fld dword [esp + 0xe8]
fpatan
add esp, 0xc
mov dword [esp + 0x1c], 0
mov eax, 0x745bac
or ecx, 0xffffffff
fadd dword [0x4b0604]
fild dword [esp + 0x1c]
mov edi, dword [esp + 0x1c]
add eax, 0x20
inc edi
cmp eax, 0x745c2c
fmul dword [0x4b060c]
mov dword [esp + 0x1c], edi
fadd st(1)
fld st(0)
fsin
fmul dword [0x4b030c]
fsubr dword [0x4b0164]
fmul dword [0x784e4c]
fadd dword [0x767078]
fstp dword [eax - 0x24]
fcos
fadd dword [0x4b0018]
fmul dword [0x4b030c]
fmul dword [0x784e50]
fadd dword [0x767328]
fstp dword [eax - 0x20]
mov dword [eax - 0x18], ebp
mov dword [eax - 0x14], ecx
jl 0x477376
mov eax, dword [0x74c7b0]
push 0xc
push 4
push 0x745ba8
mov dword [0x745c20], 0x3c000000
mov dword [0x745bc0], 0x3c000000
mov dword [0x745c00], 0x3e780000
mov dword [0x745be0], 0x3e780000
mov dword [0x745be4], 0x3e840000
mov dword [0x745bc4], 0x3e840000
mov dword [0x745c24], 0x3efc0000
mov dword [0x745c04], 0x3efc0000
mov ecx, dword [eax]
push 0x1c4
push 6
push eax
fstp st(0)
call dword [ecx + 0x70]
mov esi, dword [0x82d984]
fld dword [esi + 0xe2c]
fdiv dword [esi + 0xe30]
fcom dword [0x4b0004]
fnstsw ax
test ah, 0x41
je 0x477465
fchs
fld st(0)
fadd dword [0x4b003c]
mov eax, 0x7ac718
fstp dword [esp + 0x14]
mov edi, dword [esp + 0x14]
and edi, 0xffffff
mov dword [esp + 0x14], edi
fild dword [esp + 0x14]
fsubr st(1)
fmul dword [0x4b0600]
fadd dword [0x4b003c]
fstp dword [esp + 0x14]
mov ebp, dword [esp + 0x14]
fstp st(0)
fld dword [0x4ba884]
fmul dword [0x4b0600]
and ebp, 0xffffff
fadd dword [0x4b003c]
fstp dword [esp + 0x14]
mov esi, dword [esp + 0x14]
and esi, 0xffffff
xor ebx, ebx
cmp edi, ebx
jle 0x4774d3
mov edx, 0x400
jmp 0x4774dd
xor edx, edx
cmp edi, ebx
setl dl
dec edx
and edx, ebp
mov ecx, dword [eax]
cmp ecx, edx
jge 0x4774f8
lea ecx, [ecx + esi*4]
cmp ecx, 0x400
mov dword [eax], ecx
jle 0x477506
mov dword [eax], 0x400
jmp 0x477506
jle 0x477506
sub ecx, esi
mov dword [eax], ecx
jns 0x477506
mov dword [eax], 0
add eax, 4
inc ebx
cmp eax, 0x7ac734
jl 0x4774c8
mov dword [esp + 0x38], 0x4c0be0
mov ebx, 0x4c0b6c
mov edi, dword [esp + 0x38]
mov dword [esp + 0x14], 0x7ac718
fld dword [ebx]
fmul dword [0x4b0320]
add ebx, 4
mov eax, dword [edi]
add ebx, 4
mov ecx, dword [esp + 0x14]
add ebx, 4
mov edx, dword [edi - 4]
fstp dword [esp + 0x1c]
fld dword [ebx - 8]
fmul dword [0x4b0320]
mov dword [esp + 0x24], eax
mov eax, dword [ecx]
add ebx, 4
mov dword [esp + 0x30], edx
test eax, eax
fstp dword [esp + 0x34]
fld dword [ebx - 8]
fmul dword [0x4b0320]
fstp dword [esp + 0x28]
fld dword [ebx - 4]
fmul dword [0x4b0320]
fstp dword [esp + 0x20]
fld dword [esp + 0x28]
fmul dword [0x4b0314]
fstp dword [esp + 0x40]
fld dword [esp + 0x20]
fmul dword [0x4b0314]
fstp dword [esp + 0x2c]
jne 0x4775d6
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
push 0xc0ffffff
push edx
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x48]
push ecx
push edx
push eax
call fcn.004795d0
add esp, 0x24
jmp 0x4776b4
cmp eax, 0x400
jne 0x477620
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
fld dword [esp + 0x34]
fadd dword [0x4b05fc]
mov eax, dword [esp + 0x1c]
push 0xc0ffffff
push ecx
push edx
mov edx, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x3c]
fstp dword [esp]
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
call fcn.004795d0
add esp, 0x24
jmp 0x4776b4
lea eax, [eax + eax*2]
mov ebp, dword [esp + 0x20]
shl eax, 6
cdq
and edx, 0x3ff
mov esi, dword [esp + 0x28]
add eax, edx
mov edx, 0xffffffc0
mov edi, eax
mov eax, dword [esp + 0x34]
sar edi, 0xa
sub edx, edi
mov ecx, dword [esp + 0x1c]
shl edx, 0x18
or edx, 0xffffff
push edx
mov edx, dword [esp + 0x30]
push ebp
push esi
push eax
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x48]
push eax
push ecx
push edx
call fcn.004795d0
fld dword [esp + 0x58]
fadd dword [0x4b05fc]
shl edi, 0x18
add esp, 0x24
mov eax, dword [esp + 0x1c]
or edi, 0xffffff
mov edx, dword [esp + 0x40]
push edi
push ebp
push esi
push ecx
mov ecx, dword [esp + 0x3c]
fstp dword [esp]
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
call fcn.004795d0
mov edi, dword [esp + 0x5c]
add esp, 0x24
mov ecx, dword [esp + 0x14]
add edi, 8
add ecx, 4
cmp edi, 0x4c0c18
mov dword [esp + 0x38], edi
mov dword [esp + 0x14], ecx
jl 0x47752a
mov edx, dword [0x784eb0]
cmp edx, 1
je 0x477a17
cmp edx, 8
je 0x477a17
cmp edx, 9
je 0x477a17
mov eax, dword [0x784ee0]
test eax, eax
je 0x477a17
push 0xe0ffffff
push 0x3e800000
push 0x3e800000
push 0x3f1d0000
push 0x3f3e0000
push 0x42800000
push 0x42800000
push 0x42600000
push 0x41800000
call fcn.004795d0
mov esi, dword [0x82d984]
add esp, 0x24
mov eax, dword [esi + 0x41ec]
test eax, eax
je 0x477753
mov ebx, dword [esi + 0x41e8]
mov ebp, dword [esp + 0x14]
xor edi, edi
jmp 0x4777b8
fld dword [esi + 0x41e4]
fcomp dword [0x4b0004]
fnstsw ax
test ah, 0x40
jne 0x477a11
fld dword [esi + 0x41e0]
call fcn.004a4cf8
mov ebx, eax
mov ecx, 0xb
mov dword [esp + 0x14], ebx
lea eax, [ebx + 1]
cdq
fild dword [esp + 0x14]
idiv ecx
fsubr dword [esi + 0x41e0]
fmul dword [0x4b018c]
fadd dword [0x4b003c]
fstp dword [esp + 0x14]
mov edi, dword [esp + 0x14]
and edi, 0xffffff
mov ebp, edx
mov edx, edi
shl edx, 8
or edx, edi
shl edx, 8
or edi, edx
cmp ebx, 0xffffffff
je 0x477a11
mov ax, word [0x4b6da0]
cmp ax, 1
je 0x47783f
test ax, ax
jne 0x4777f2
mov eax, dword [0x74c7b0]
push 1
push 0x1b
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov eax, dword [0x74c67c]
inc eax
mov dword [0x74c67c], eax
mov ax, word [0x4b6da0]
mov esi, 2
cmp ax, si
jne 0x477834
mov eax, dword [0x74c7b0]
push esi
push 4
push 0
mov edx, dword [eax]
push eax
call dword [edx + 0xa0]
mov eax, dword [0x74c67c]
mov edx, dword [0x4ba868]
inc eax
push edx
mov dword [0x74c67c], eax
mov eax, dword [0x74c7b0]
push 0x18
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
inc dword [0x74c67c]
mov word [0x4b6da0], 1
jmp 0x477844
mov esi, 2
cmp word [0x4b6da2], si
je 0x477868
mov eax, dword [0x74c7b0]
mov word [0x4b6da2], si
push esi
push 0x13
mov ecx, dword [eax]
push eax
call dword [ecx + 0x58]
inc dword [0x74c67c]
cmp word [0x4b6da4], si
je 0x47788c
mov eax, dword [0x74c7b0]
mov word [0x4b6da4], si
push esi
push 0x14
mov edx, dword [eax]
push eax
call dword [edx + 0x58]
inc dword [0x74c67c]
fld dword [ebx*8 + 0x4c0c14]
fmul dword [0x4b0320]
mov eax, dword [0x82d984]
mov ecx, 0x808080
fstp dword [esp + 0x1c]
fld dword [ebx*8 + 0x4c0c18]
fmul dword [0x4b0320]
fstp dword [esp + 0x34]
fld dword [eax + 0x41e4]
fcomp dword [0x4b0004]
fnstsw ax
test ah, 0x40
je 0x4778d0
mov ecx, 0xffffff
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
sub ecx, edi
push ecx
push 0x3e000000
push 0x3e000000
push edx
push eax
push 0x42000000
push 0x42000000
push 0x42900000
push 0x42000000
call fcn.004795d0
add esp, 0x24
test edi, edi
je 0x477950
fld dword [ebp*8 + 0x4c0c18]
push edi
push 0x3e000000
fmul dword [0x4b0320]
push 0x3e000000
push ecx
fstp dword [esp]
fld dword [ebp*8 + 0x4c0c14]
fmul dword [0x4b0320]
push ecx
fstp dword [esp]
push 0x42000000
push 0x42000000
push 0x42900000
push 0x42000000
call fcn.004795d0
add esp, 0x24
mov ax, word [0x4b6da0]
cmp ax, si
je 0x4779b7
test ax, ax
jne 0x477975
mov eax, dword [0x74c7b0]
push 1
push 0x1b
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
inc dword [0x74c67c]
mov eax, dword [0x74c7b0]
push 4
push 4
push 0
mov edx, dword [eax]
push eax
call dword [edx + 0xa0]
mov ebp, dword [0x74c67c]
mov eax, dword [0x74c7b0]
inc ebp
push 0
mov dword [0x74c67c], ebp
mov ecx, dword [eax]
push 0x18
push eax
call dword [ecx + 0x58]
mov eax, dword [0x74c67c]
mov word [0x4b6da0], si
inc eax
mov dword [0x74c67c], eax
mov ecx, 5
cmp word [0x4b6da2], cx
je 0x4779e0
mov eax, dword [0x74c7b0]
mov word [0x4b6da2], cx
push ecx
push 0x13
mov edx, dword [eax]
push eax
call dword [edx + 0x58]
inc dword [0x74c67c]
mov ecx, 6
cmp word [0x4b6da4], cx
je 0x477a09
mov eax, dword [0x74c7b0]
mov word [0x4b6da4], cx
push ecx
push 0x14
mov edx, dword [eax]
push eax
call dword [edx + 0x58]
inc dword [0x74c67c]
mov edx, dword [0x784eb0]
jmp 0x477a1c
mov edx, dword [0x784eb0]
mov esi, 2
cmp edx, 4
je 0x477a2a
cmp edx, 6
jne 0x477aab
mov eax, dword [0x8472f0]
test eax, eax
jne 0x477aab
mov ecx, dword [0x82d97c]
test ecx, ecx
je 0x477aab
mov edi, dword [0x847300]
cmp dword [ecx + 4], esi
jne 0x477a67
mov ebx, dword [ecx + 0xf8c]
mov eax, edi
add ebx, 0x3c
shl ebx, 6
sub eax, dword [ebx + ecx]
cmp eax, 0x3e8
jb 0x477a67
test eax, 0x80000000
je 0x477a70
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x477a43
jmp 0x477aab
push 0xc0ffffff
push 0x3e000000
push 0x3e000000
push 0x3f400000
push 0x3e800000
push 0x42000000
push 0x42000000
push 0x43000000
push 0x41a00000
call fcn.004795d0
mov edx, dword [0x784eb0]
add esp, 0x24
mov eax, 0x16
cmp word [0x4b6d9c], ax
je 0x477aed
mov edx, dword [0x847288]
mov word [0x4b6d9c], ax
mov eax, dword [0x74c7b0]
mov edx, dword [edx + 0xeac]
mov ecx, dword [eax]
push edx
push 0
push eax
call dword [ecx + 0x98]
mov eax, dword [0x74c678]
mov edx, dword [0x784eb0]
inc eax
mov dword [0x74c678], eax
cmp edx, 9
jne 0x477b48
mov eax, dword [0x77daf8]
mov ecx, dword [0x77daf4]
push eax
push ecx
lea edx, [esp + 0x50]
push str._2.2ld____2.2ld
push edx
call fcn.004a4ca4
lea eax, [esp + 0x58]
push eax
push 0xffffffffffffffff
push 0x10
push 8
push 0x10
push 0x238
call fcn.0048bf70
push 0x4c0d84
push 0xff00ffff
push 0x10
push 8
push 0x10
push 0x250
call fcn.0048bf70
mov edx, dword [0x784eb0]
add esp, 0x40
cmp edx, 1
je 0x477b70
cmp edx, 8
je 0x477b70
cmp edx, 9
je 0x477b70
mov eax, dword [0x82d984]
mov ecx, dword [eax + 0x41ec]
test ecx, ecx
je 0x477b75
cmp dword [eax + 0x41e8], esi
je 0x477b7e
jmp 0x477b75
mov eax, dword [0x82d984]
cmp dword [eax + 0x41e8], 4
jne 0x477bb4
mov ecx, dword [eax + 0x41ec]
lea edx, [esp + 0x48]
push ecx
push 0x4b89b8
push edx
call fcn.004a4ca4
lea eax, [esp + 0x54]
push eax
push 0xffffaa22
push 8
push 6
push 0x66
push 0x3c
call fcn.0048bf70
mov edx, dword [0x784eb0]
add esp, 0x24
fld dword [0x7ac714]
fcomp dword [0x4b0004]
fnstsw ax
test ah, 0x40
jne 0x477cf8
fld dword [0x7ac714]
fsub dword [0x4ba884]
fst dword [0x7ac714]
fcomp dword [0x4b0004]
fnstsw ax
test ah, 1
je 0x477bf4
mov dword [0x7ac714], 0
fld dword [0x7ac6b0]
fsub dword [0x4b000c]
fcomp dword [0x7ac714]
fnstsw ax
test ah, 1
je 0x477c35
fld dword [0x7ac6b0]
fsub dword [0x7ac714]
fmul dword [0x4b0090]
fadd dword [0x4b003c]
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
and edx, 0xffffff
jmp 0x477c6f
fld dword [0x7ac714]
fcomp dword [0x4b000c]
fnstsw ax
test ah, 1
je 0x477c6a
fld dword [0x7ac714]
fmul dword [0x4b0090]
fadd dword [0x4b003c]
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
and edx, 0xffffff
jmp 0x477c6f
mov edx, 0xff
mov edi, 0x7ac664
or ecx, 0xffffffff
xor eax, eax
push 0x7ac644
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x7ac644
mov ebx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov eax, dword [0x7ac6f4]
mov edi, edx
not ecx
dec ecx
add ebx, ecx
shl edi, 0x18
shl ebx, 3
mov edx, edi
mov ecx, ebx
mov ebx, 0x280
or edx, eax
sub ebx, ecx
push edx
push 0x10
push 8
shr ebx, 1
push 0x1c0
push ebx
call fcn.0048bf70
mov ebp, dword [0x7ac6f8]
push 0x7ac664
or edi, ebp
or ecx, 0xffffffff
push edi
mov edi, 0x7ac644
xor eax, eax
push 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 8
push 0x1c0
lea eax, [ebx + ecx*8]
push eax
call fcn.0048bf70
mov edx, dword [0x784eb0]
add esp, 0x30
mov ecx, dword [0x82d984]
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
fld dword [ecx + 0x4218]
fcomp dword [0x4b0004]
fnstsw ax
test ah, 0x40
jne 0x477e55
cmp edx, 8
je 0x477e55
cmp edx, 9
je 0x477e55
fld dword [ecx + 0x4218]
fsub dword [0x4ba884]
fstp dword [ecx + 0x4218]
mov ecx, dword [0x82d984]
fld dword [ecx + 0x4218]
fcomp dword [0x4b0004]
fnstsw ax
test ah, 1
je 0x477d62
mov dword [ecx + 0x4218], 0
mov edi, dword [0x785a24]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x280
shl ecx, 3
push 0xff00ffff
sub edx, ecx
push 0x10
push 8
shr edx, 1
push 0x80
push edx
call fcn.0048bf70
mov eax, dword [0x82d984]
add esp, 0x18
mov ecx, dword [eax + 0x4214]
test ecx, ecx
mov eax, ecx
jle 0x477dea
cdq
mov edi, 0x3e8
idiv edi
mov eax, 0x10624dd3
push edx
imul ecx
sar edx, 6
mov edi, edx
mov eax, edx
shr edi, 0x1f
add eax, edi
mov edi, 0x3c
cdq
idiv edi
mov eax, 0x45e7b273
push edx
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
lea edx, [esp + 0x54]
push str._02d:_02d:_03d
push edx
jmp 0x477e2d
neg eax
cdq
mov edi, 0x3e8
idiv edi
mov eax, 0xef9db22d
push edx
imul ecx
sar edx, 6
mov edi, edx
mov eax, edx
shr edi, 0x1f
add eax, edi
mov edi, 0x3c
cdq
idiv edi
mov eax, 0xba184d8d
push edx
imul ecx
sar edx, 0xe
mov eax, edx
lea ecx, [esp + 0x50]
shr eax, 0x1f
add edx, eax
push edx
push str.__02d:_02d:_03d
push ecx
call ebx
add esp, 0x14
lea edx, [esp + 0x48]
push edx
push 0xffffffffffffffff
push 0x10
push 8
push 0x90
push 0x118
call fcn.0048bf70
mov edx, dword [0x784eb0]
add esp, 0x18
mov eax, dword [0x82d984]
mov ecx, dword [eax + 0x4200]
test ecx, ecx
jne 0x477f1f
cmp edx, 6
je 0x477f28
cmp edx, 8
je 0x477f1f
cmp edx, 9
je 0x477f1f
mov edi, dword [0x785a18]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x4e
push 0xff00ffff
sub edx, ecx
push 0x10
push 8
shl edx, 3
push 0x60
push edx
call fcn.0048bf70
mov eax, dword [0x82d984]
mov edi, 0x3e8
mov ecx, dword [eax + 0xddc]
mov eax, ecx
cdq
idiv edi
mov eax, 0x10624dd3
push edx
imul ecx
sar edx, 6
mov edi, edx
mov eax, edx
shr edi, 0x1f
add eax, edi
mov edi, 0x3c
cdq
idiv edi
mov eax, 0x45e7b273
push edx
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
lea edx, [esp + 0x6c]
push 0x4babfc
push edx
call ebx
lea eax, [esp + 0x74]
push eax
push 0xffffffffffffffff
push 0x10
push 8
push 0x70
push 0x228
call fcn.0048bf70
mov edx, dword [0x784eb0]
add esp, 0x44
cmp edx, 6
jne 0x478045
mov edi, dword [0x785a34]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x4e
push 0xff00ffff
sub edx, ecx
push 0x10
push 8
shl edx, 3
push 0x10
push edx
call fcn.0048bf70
mov eax, dword [0x82d984]
xor edx, edx
mov edi, 0x3e8
mov ecx, dword [eax + 0x4208]
mov eax, ecx
div edi
mov eax, 0x10624dd3
mov edi, 0x3c
push edx
mul ecx
mov eax, edx
xor edx, edx
shr eax, 6
div edi
mov eax, 0x45e7b273
push edx
mul ecx
shr edx, 0xe
push edx
lea ecx, [esp + 0x6c]
push 0x4babfc
push ecx
call ebx
lea edx, [esp + 0x74]
push edx
push 0xffffffffffffffff
push 0x10
push 8
push 0x20
push 0x228
call fcn.0048bf70
mov eax, dword [0x4c6518]
add esp, 0x44
test eax, eax
je 0x47803f
mov eax, dword [eax + 0x25c]
add eax, 0x4224
push eax
push 0xffff0000
push 0x10
push 8
push 0x10
push 0x10
call fcn.0048bf70
mov ecx, dword [0x4c6518]
mov edi, 0x3e8
mov edx, dword [ecx + 0x25c]
mov ecx, dword [edx + 0x4208]
xor edx, edx
mov eax, ecx
div edi
mov eax, 0x10624dd3
mov edi, 0x3c
push edx
mul ecx
mov eax, edx
xor edx, edx
shr eax, 6
div edi
mov eax, 0x45e7b273
push edx
mul ecx
shr edx, 0xe
push edx
lea eax, [esp + 0x6c]
push 0x4babfc
push eax
call ebx
lea ecx, [esp + 0x74]
push ecx
push 0xffffffffffffffff
push 0x10
push 8
push 0x20
push 0x10
call fcn.0048bf70
add esp, 0x44
mov edx, dword [0x784eb0]
cmp edx, 1
je 0x478183
cmp edx, 6
je 0x47817a
cmp edx, 8
je 0x47817a
cmp edx, 9
je 0x47817a
mov edx, dword [0x82d984]
mov edi, dword [0x785a1c]
push edi
push 0xff00ffff
mov eax, dword [edx + 0x4200]
push 0x10
test eax, eax
push 8
jne 0x4780f9
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x4e
sub eax, ecx
push 0x88
shl eax, 3
push eax
call fcn.0048bf70
mov ecx, dword [0x847308]
xor edx, edx
mov eax, ecx
mov edi, 0x3e8
div edi
mov eax, 0x10624dd3
mov edi, 0x3c
push edx
mul ecx
mov eax, edx
xor edx, edx
shr eax, 6
div edi
mov eax, 0x45e7b273
push edx
mul ecx
shr edx, 0xe
push edx
lea ecx, [esp + 0x6c]
push 0x4babfc
push ecx
call ebx
lea edx, [esp + 0x74]
push edx
push 0xffffffffffffffff
push 0x10
push 8
push 0x98
jmp 0x478167
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x4e
sub eax, ecx
push 0x60
shl eax, 3
push eax
call fcn.0048bf70
mov ecx, dword [0x82d984]
xor edx, edx
mov edi, 0x3e8
mov ecx, dword [ecx + 0x4200]
mov eax, ecx
div edi
mov eax, 0x10624dd3
mov edi, 0x3c
push edx
mul ecx
mov eax, edx
xor edx, edx
shr eax, 6
div edi
mov eax, 0x45e7b273
push edx
mul ecx
shr edx, 0xe
push edx
lea edx, [esp + 0x6c]
push 0x4babfc
push edx
call ebx
lea eax, [esp + 0x74]
push eax
push 0xffffffffffffffff
push 0x10
push 8
push 0x70
push 0x228
call fcn.0048bf70
mov edx, dword [0x784eb0]
add esp, 0x44
cmp edx, 1
jne 0x478464
cmp dword [0x847360], 0x1b7740
je 0x478238
mov edi, dword [0x785ca8]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x4e
push 0xffffff00
sub edx, ecx
push 0x10
push 8
shl edx, 3
push 0x88
push edx
call fcn.0048bf70
mov ecx, dword [0x847360]
mov edi, 0x3e8
mov eax, ecx
cdq
idiv edi
mov eax, 0x10624dd3
push edx
imul ecx
sar edx, 6
mov edi, edx
mov eax, edx
shr edi, 0x1f
add eax, edi
mov edi, 0x3c
cdq
idiv edi
mov eax, 0x45e7b273
push edx
imul ecx
sar edx, 0xe
mov eax, edx
lea ecx, [esp + 0x68]
shr eax, 0x1f
add edx, eax
push edx
push 0x4babfc
push ecx
call ebx
lea edx, [esp + 0x74]
push edx
push 0xffffffffffffffff
push 0x10
push 8
push 0x98
push 0x228
call fcn.0048bf70
mov eax, dword [0x784eb0]
add esp, 0x44
cmp eax, 1
jne 0x478464
mov eax, dword [0x76f1d8]
test eax, eax
je 0x4782e1
mov edi, dword [0x785a28]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x4e
push 0xffffff00
sub eax, ecx
push 0x10
push 8
shl eax, 3
push 0xb0
push eax
call fcn.0048bf70
mov ecx, dword [0x4b9400]
xor edx, edx
mov edi, 0x3e8
mov ecx, dword [ecx + 0x3c]
mov eax, ecx
div edi
mov eax, 0x10624dd3
mov edi, 0x3c
push edx
mul ecx
mov eax, edx
xor edx, edx
shr eax, 6
div edi
mov eax, 0x45e7b273
push edx
mul ecx
shr edx, 0xe
push edx
lea edx, [esp + 0x6c]
push 0x4babfc
push edx
call ebx
lea eax, [esp + 0x74]
push eax
push 0xffffffffffffffff
push 0x10
push 8
push 0xc0
push 0x228
call fcn.0048bf70
mov eax, dword [0x784eb0]
add esp, 0x44
cmp eax, 1
jne 0x478464
mov eax, dword [0x784eb8]
cmp eax, 0xd
jge 0x478464
push eax
call fcn.0044ba40
mov ecx, dword [0x784ed0]
add esp, 4
test ecx, ecx
mov ecx, dword [0x784ecc]
jne 0x478332
test ecx, ecx
jne 0x47831e
mov ecx, dword [0x784eb8]
mov ecx, dword [ecx*4 + 0x77dabc]
and ecx, 1
jmp 0x47834a
mov edx, dword [0x784eb8]
mov ebp, dword [eax + 0x64]
mov ecx, dword [edx*4 + 0x77dabc]
and ecx, esi
jmp 0x47834d
test ecx, ecx
jne 0x478464
mov ecx, dword [0x784eb8]
mov ecx, dword [ecx*4 + 0x77dabc]
and ecx, 4
mov ebp, dword [eax + 0x60]
test ebp, ebp
je 0x478464
test ecx, ecx
je 0x478665
fld dword [0x4ba884]
fmul dword [0x4b0130]
call fcn.004a4cf8
mov ecx, dword [0x7ac710]
add ecx, eax
mov dword [0x7ac710], ecx
jns 0x478386
xor ecx, ecx
mov dword [0x7ac710], ecx
test cl, 0x80
je 0x478426
mov edi, dword [0x785a2c]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x4e
push 0xffffff00
sub edx, ecx
push 0x10
push 8
shl edx, 3
push 0xd8
push edx
call fcn.0048bf70
mov eax, ebp
mov ecx, 0x3e8
cdq
idiv ecx
mov eax, 0x10624dd3
push edx
imul ebp
sar edx, 6
mov ecx, edx
mov eax, edx
shr ecx, 0x1f
add eax, ecx
mov ecx, 0x3c
cdq
idiv ecx
mov eax, 0x45e7b273
lea ecx, [esp + 0x64]
push edx
imul ebp
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0x4babfc
push ecx
call ebx
lea edx, [esp + 0x74]
push edx
push 0xffffffffffffffff
push 0x10
push 8
push 0xe8
push 0x228
call fcn.0048bf70
mov ecx, dword [0x7ac710]
add esp, 0x44
cmp ecx, 0x7d0
je 0x478464
test cl, 0x80
je 0x478464
mov edi, dword [0x785a30]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x280
shl ecx, 3
push 0xffffffffffffffff
sub eax, ecx
push 0x10
push 8
shr eax, 1
push 0xec
push eax
call fcn.0048bf70
add esp, 0x18
mov ecx, dword [0x7ad810]
mov edx, dword [ecx*4 + 0x4c0a78]
push edx
push 0xff00ffff
push 0x10
push 8
push 0x1c0
push 0x258
call fcn.0048bf70
mov eax, dword [0x82d984]
mov ecx, dword [0x7ad810]
mov eax, dword [eax + 0x398]
fld dword [eax + 0x28]
fld dword [eax + 0x24]
fld dword [eax + 0x20]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp st(3)
fstp st(0)
fstp st(0)
fmul dword [ecx*4 + str.R_7_f]
call fcn.004a4cf8
push eax
lea edx, [esp + 0x64]
push 0x4c0d60
push edx
call ebx
lea eax, [esp + 0x6c]
push eax
push 0xffffffffffffffff
push 0x10
push 8
push 0x1c0
push 0x230
call fcn.0048bf70
mov eax, dword [0x7ad810]
add esp, 0x3c
cmp eax, 1
je 0x478501
cmp eax, 4
jne 0x478533
mov edi, dword [0x785cac]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x4e
push 0x4000ffff
sub edx, ecx
push 0xc
push 8
shl edx, 3
push 0x1d0
push edx
call fcn.0048bf70
add esp, 0x18
push str.frontend
call fcn.0044cb90
mov ecx, dword [0x784eb8]
add esp, 4
cmp ecx, eax
jne 0x4785f5
mov eax, dword [0x4d67a4]
sub esp, 8
sub esp, 8
fld dword [eax + 0x4c]
fstp qword [esp + 8]
fld dword [eax + 0x48]
fstp qword [esp]
fld dword [eax + 0x44]
sub esp, 8
lea eax, [esp + 0x60]
fstp qword [esp]
push str.Pos:___f__f__f
push eax
call fcn.004a4ca4
lea ecx, [esp + 0x68]
push ecx
push 0xffffffffffffffff
push 0x10
push 8
push 0x46
push 0x64
call fcn.0048bf70
mov eax, dword [0x4d67a4]
add esp, 0x30
sub esp, 8
lea edx, [esp + 0x58]
fld dword [eax + 0x28]
fmul dword [0x4b0088]
sub esp, 8
fadd dword [eax + 0x44]
fld dword [eax + 0x2c]
fmul dword [0x4b0088]
fadd dword [eax + 0x48]
fld dword [eax + 0x30]
fmul dword [0x4b0088]
fadd dword [eax + 0x4c]
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fstp qword [esp]
push str.Look:__f__f__f
push edx
call fcn.004a4ca4
lea eax, [esp + 0x68]
push eax
push 0xffffffffffffffff
push 0x10
push 8
push 0x5a
push 0x64
call fcn.0048bf70
add esp, 0x38
mov edi, dword [0x784eb0]
cmp edi, 1
je 0x4786a5
cmp edi, 6
je 0x4786a5
cmp edi, 8
je 0x478b66
cmp edi, 9
je 0x4786a5
mov ecx, dword [0x785a20]
push ecx
push 0xff00ffff
push 0x10
push 8
push 0x10
push 0x10
call fcn.0048bf70
mov edx, dword [0x82d984]
mov ecx, dword [0x784ec0]
add esp, 0x18
mov eax, dword [edx + 0xdd8]
cmp eax, ecx
jge 0x478674
inc eax
push ecx
push eax
lea eax, [esp + 0x50]
push str._d__d
push eax
call ebx
add esp, 0x10
jmp 0x478688
mov dword [0x7ac710], 0x7d0
jmp 0x47838f
mov ecx, dword [0x785cb0]
lea edx, [esp + 0x48]
push ecx
push edx
call fcn.004a4ca4
add esp, 8
lea eax, [esp + 0x48]
push eax
push 0xffffffffffffffff
push 0x10
push 8
push 0x20
push 0x10
call fcn.0048bf70
mov edi, dword [0x784eb0]
add esp, 0x18
cmp edi, 8
je 0x478b66
cmp edi, 9
je 0x478b66
mov ebp, 1
mov dword [esp + 0x20], 0x7f7fffff
cmp edi, ebp
mov dword [esp + 0x2c], 0xff7fffff
jne 0x4786e0
mov edx, dword [0x82d984]
fld dword [edx + 0x40e0]
fchs
jmp 0x478720
cmp edi, 6
jne 0x47870e
mov edx, dword [0x82d984]
mov ecx, 0x1d4c0
mov dword [esp + 0x18], 0
sub ecx, dword [edx + 0x4208]
mov dword [esp + 0x14], ecx
fild qword [esp + 0x14]
fmul dword [0x4b01e0]
jmp 0x478726
mov edx, dword [0x82d984]
fild dword [edx + 0xdd8]
fsub dword [edx + 0x40e0]
fisub dword [edx + 0x40d0]
mov ecx, dword [0x82d97c]
mov eax, dword [edx + 0x4200]
fstp dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov dword [0x7b1414], eax
test ecx, ecx
je 0x4787e9
cmp ecx, edx
je 0x4787de
mov eax, dword [ecx + 4]
test eax, eax
je 0x4787de
cmp edi, 6
jne 0x478782
mov eax, 0x1d4c0
mov dword [esp + 0x3c], 0
sub eax, dword [ecx + 0x4208]
mov dword [esp + 0x38], eax
fild qword [esp + 0x38]
fmul dword [0x4b01e0]
jmp 0x478794
fild dword [ecx + 0xdd8]
fsub dword [ecx + 0x40e0]
fisub dword [ecx + 0x40d0]
fcom dword [esp + 0x28]
fnstsw ax
test ah, 0x41
jne 0x4787b3
fcom dword [esp + 0x20]
inc ebp
fnstsw ax
test ah, 1
je 0x4787c8
fstp dword [esp + 0x20]
mov esi, ecx
jmp 0x4787ca
fcom dword [esp + 0x2c]
fnstsw ax
test ah, 0x41
jne 0x4787c8
fstp dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
jmp 0x4787ca
fstp st(0)
mov eax, dword [ecx + 0x4200]
test eax, eax
jne 0x4787de
mov dword [0x7b1414], 0
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x478747
mov eax, dword [edx + 0x4200]
test eax, eax
je 0x4787fc
mov eax, dword [edx + 0x4204]
inc eax
jmp 0x4787fe
mov eax, ebp
push eax
lea ecx, [esp + 0x4c]
push 0x4b89b8
push ecx
mov dword [0x7ac6a0], eax
call ebx
lea edx, [esp + 0x54]
push edx
push 0xffffffffffffffff
push 0x18
push 0xc
push 0x188
push 0x10
call fcn.0048bf70
mov eax, dword [0x7ac6a0]
add esp, 0x24
cmp eax, 4
jge 0x47883d
mov ecx, dword [eax*4 + 0x7859e0]
jmp 0x478843
mov ecx, dword [0x7859f0]
push ecx
xor ecx, ecx
cmp eax, 0xa
push 0xff00ffff
setl cl
dec ecx
push 0xc
and ecx, 0xc
push 8
add ecx, 0x1c
push 0x188
push ecx
call fcn.0048bf70
fld dword [esp + 0x38]
fcomp dword [0x4b0230]
mov edi, dword [0x784eb0]
add esp, 0x18
cmp edi, 6
fnstsw ax
jne 0x4789c9
test ah, 0x40
jne 0x47892a
fld dword [esp + 0x20]
fsub dword [esp + 0x28]
fld st(0)
fmul dword [0x4b05f8]
fadd dword [0x4b003c]
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
and eax, 0xffffff
cmp eax, 0x1ff
jle 0x478970
mov eax, 0x1ff
or edi, 0xffffffff
sub edi, eax
shl edi, 8
or edi, 0xffff0000
call fcn.004a4cf8
push eax
lea edx, [esp + 0x4c]
push str.__lds
push edx
call ebx
lea eax, [esp + 0x54]
push eax
push edi
push 0x10
push 8
push 0x1b0
push 0x10
call fcn.0048bf70
add esi, 0x4224
lea ecx, [esp + 0x6c]
push esi
push str._0.12s
push ecx
call ebx
lea edx, [esp + 0x78]
push edx
push 0xffffffffffffffff
push 0x10
push 8
push 0x1b0
push 0x48
call fcn.0048bf70
mov edi, dword [0x784eb0]
add esp, 0x48
fld dword [esp + 0x2c]
fcomp dword [0x4b05f4]
fnstsw ax
test ah, 0x40
jne 0x478b66
fld dword [esp + 0x28]
fsub dword [esp + 0x2c]
fld st(0)
fmul dword [0x4b05f8]
fadd dword [0x4b003c]
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
and eax, 0xffffff
cmp eax, 0x1ff
jle 0x47898a
mov eax, 0x1ff
jmp 0x4789ab
cmp eax, 0x100
jge 0x4788c1
shl eax, 0x10
or eax, 0xff00ff00
mov edi, eax
jmp 0x4788cf
cmp eax, 0x100
jge 0x4789ab
or eax, 0xffffff00
shl eax, 8
mov edi, eax
call fcn.004a4cf8
push eax
push str._lds
jmp 0x478b12
or edi, 0xffffffff
sub edi, eax
shl edi, 0x10
or edi, 0xff00ff00
call fcn.004a4cf8
push eax
push str._lds
jmp 0x478b12
test ah, 0x40
jne 0x478a7a
fld dword [esp + 0x20]
fsub dword [esp + 0x28]
fmul dword [0x82d9dc]
fmul dword [0x4b0424]
fld st(0)
fmul dword [0x4b05f0]
fadd dword [0x4b003c]
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
and eax, 0xffffff
cmp eax, 0x1ff
jle 0x478acc
mov eax, 0x1ff
or edi, 0xffffffff
sub edi, eax
shl edi, 8
or edi, 0xffff0000
call fcn.004a4cf8
push eax
lea edx, [esp + 0x4c]
push str.__ldm
push edx
call ebx
lea eax, [esp + 0x54]
push eax
push edi
push 0x10
push 8
push 0x1b0
push 0x10
call fcn.0048bf70
add esi, 0x4224
lea ecx, [esp + 0x6c]
push esi
push str._0.12s
push ecx
call ebx
lea edx, [esp + 0x78]
push edx
push 0xffffffffffffffff
push 0x10
push 8
push 0x1b0
push 0x48
call fcn.0048bf70
mov edi, dword [0x784eb0]
add esp, 0x48
fld dword [esp + 0x2c]
fcomp dword [0x4b05f4]
fnstsw ax
test ah, 0x40
jne 0x478b66
fld dword [esp + 0x28]
fsub dword [esp + 0x2c]
fmul dword [0x82d9dc]
fmul dword [0x4b0424]
fld st(0)
fmul dword [0x4b05f0]
fadd dword [0x4b003c]
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
and eax, 0xffffff
cmp eax, 0x1ff
jle 0x478ae6
mov eax, 0x1ff
jmp 0x478af9
cmp eax, 0x100
jge 0x478a11
shl eax, 0x10
or eax, 0xff00ff00
mov edi, eax
jmp 0x478a1f
cmp eax, 0x100
jge 0x478af9
or eax, 0xffffff00
shl eax, 8
mov edi, eax
jmp 0x478b07
or edi, 0xffffffff
sub edi, eax
shl edi, 0x10
or edi, 0xff00ff00
call fcn.004a4cf8
push eax
push str._ldm
lea eax, [esp + 0x50]
push eax
call ebx
lea ecx, [esp + 0x54]
push ecx
push edi
push 0x10
push 8
push 0x1c0
push 0x10
call fcn.0048bf70
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x6c]
add edx, 0x4224
push edx
push str._0.12s
push eax
call ebx
lea ecx, [esp + 0x78]
push ecx
push 0xffffffffffffffff
push 0x10
push 8
push 0x1c0
push 0x48
call fcn.0048bf70
mov edi, dword [0x784eb0]
add esp, 0x48
mov edx, dword [0x82d984]
xor esi, esi
cmp dword [edx + 0x4200], esi
je 0x478de3
fld dword [0x4ba884]
fmul dword [0x4b0048]
fsubr dword [0x7ac69c]
fst dword [0x7ac69c]
fcomp dword [0x4b0094]
fnstsw ax
test ah, 1
je 0x478bae
mov dword [0x7ac69c], 0x42000000
or edi, 0xffffffff
jmp 0x478be2
fld dword [0x7ac69c]
fcomp dword [0x4b049c]
fnstsw ax
test ah, 1
je 0x478bc6
or edi, 0xffffffff
jmp 0x478be2
fld dword [0x4b014c]
fsub dword [0x7ac69c]
call fcn.004a4cf8
mov edi, eax
shl edi, 0x18
or edi, 0xffffff
fld dword [0x7ac69c]
fadd st(0), st(0)
mov ecx, dword [0x7ac6a0]
mov eax, dword [0x7ac69c]
cmp ecx, 0xa
mov dword [esp + 0x40], eax
fstp dword [esp + 0x2c]
fld dword [0x7ac69c]
fmul dword [0x4b000c]
fld dword [0x4b0164]
mov ebp, dword [esp + 0x2c]
fsub st(1)
fstp dword [esp + 0x30]
jl 0x478c93
mov eax, 0x66666667
push edi
imul ecx
fld dword [esp + 0x34]
fsub st(1)
fstp dword [esp + 0x34]
fstp st(0)
sar edx, 2
mov ecx, edx
push 0x3e780000
shr ecx, 0x1f
add edx, ecx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], edx
mov edx, dword [0x7ac69c]
fild dword [esp + 0x1c]
push 0x3df00000
push 0x3f010000
push ecx
fmul dword [0x4b0094]
fadd dword [0x4b0018]
fmul dword [0x4b0320]
fstp dword [esp]
push ebp
push edx
push esi
push eax
call fcn.004795d0
fld dword [esp + 0x54]
fadd dword [esp + 0x64]
mov ecx, dword [0x7ac6a0]
add esp, 0x24
fstp dword [esp + 0x30]
jmp 0x478c95
fstp st(0)
mov eax, ecx
mov ecx, 0xa
cdq
idiv ecx
push edi
push 0x3e780000
push 0x3df00000
mov ecx, edx
mov eax, ecx
push ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [esp + 0x24], eax
and ecx, 0x80000007
fild dword [esp + 0x24]
fmul dword [0x4b022c]
fadd dword [0x4b05ec]
fmul dword [0x4b0320]
fstp dword [esp]
jns 0x478ce2
dec ecx
or ecx, 0xfffffff8
inc ecx
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x40]
fild dword [esp + 0x24]
push ecx
fmul dword [0x4b0094]
fadd dword [0x4b0018]
fmul dword [0x4b0320]
fstp dword [esp]
push ebp
mov ebp, dword [esp + 0x58]
push ebp
push esi
push edx
call fcn.004795d0
fld dword [esp + 0x54]
fadd dword [esp + 0x64]
mov eax, dword [0x7ac6a0]
add esp, 0x24
cmp eax, 2
mov dword [esp + 0x1c], 0x3e800000
fstp dword [esp + 0x30]
fld dword [esp + 0x2c]
fmul dword [0x4b05e8]
fstp dword [esp + 0x24]
fld dword [esp + 0x2c]
fmul dword [0x4b000c]
fstp dword [esp + 0x2c]
jle 0x478d56
mov dword [esp + 0x1c], 0x3ec00000
cmp eax, 4
jg 0x478d67
test al, 1
mov dword [esp + 0x34], 0x3f400000
jne 0x478d6f
mov dword [esp + 0x34], 0x3f600000
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
push edi
push 0x3e000000
push 0x3e000000
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x44]
push edx
push ebp
push eax
push ecx
call fcn.004795d0
mov eax, dword [0x4d679c]
add esp, 0x24
cmp eax, esi
je 0x478db4
push eax
call fcn.00411340
add esp, 4
mov dword [0x4d679c], esi
mov eax, dword [0x4d67a0]
mov edi, dword [0x784eb0]
cmp eax, esi
je 0x478ded
cmp edi, 6
je 0x478f5b
push eax
call fcn.00411340
mov edi, dword [0x784eb0]
add esp, 4
mov dword [0x4d67a0], esi
jmp 0x478ded
mov dword [0x7ac69c], 0x43960000
cmp edi, 6
je 0x478f5b
cmp edi, 8
je 0x478ea4
cmp edi, 9
je 0x478ea4
mov edi, dword [0x785a14]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x4e
push 0xff00ffff
sub edx, ecx
push 0x10
push 8
shl edx, 3
push 0x10
push edx
call fcn.0048bf70
mov eax, dword [0x82d984]
mov edi, 0x3e8
mov ecx, dword [eax + 0xde0]
mov eax, ecx
cdq
idiv edi
mov eax, 0x10624dd3
push edx
imul ecx
sar edx, 6
mov edi, edx
mov eax, edx
shr edi, 0x1f
add eax, edi
mov edi, 0x3c
cdq
idiv edi
mov eax, 0x45e7b273
push edx
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
lea edx, [esp + 0x6c]
push 0x4babfc
push edx
call ebx
lea eax, [esp + 0x74]
push eax
push 0xffffffffffffffff
push 0x10
push 8
push 0x20
push 0x228
call fcn.0048bf70
mov edi, dword [0x784eb0]
add esp, 0x44
cmp edi, 6
je 0x478f5b
cmp edi, 8
je 0x478f5b
cmp edi, 9
je 0x478f5b
mov edi, dword [0x785a10]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x4e
push 0xff00ffff
sub edx, ecx
push 0x10
push 8
shl edx, 3
push 0x38
push edx
call fcn.0048bf70
mov eax, dword [0x82d984]
mov edi, 0x3e8
mov ecx, dword [eax + 0xde4]
mov eax, ecx
cdq
idiv edi
mov eax, 0x10624dd3
push edx
imul ecx
sar edx, 6
mov edi, edx
mov eax, edx
shr edi, 0x1f
add eax, edi
mov edi, 0x3c
cdq
idiv edi
mov eax, 0x45e7b273
push edx
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
lea edx, [esp + 0x6c]
push 0x4babfc
push edx
call ebx
lea eax, [esp + 0x74]
push eax
push 0xffffffffffffffff
push 0x10
push 8
push 0x48
push 0x228
call fcn.0048bf70
mov edi, dword [0x784eb0]
add esp, 0x44
mov ecx, dword [0x82d984]
mov eax, dword [ecx + 0x4200]
mov ecx, dword [0x4d6ab4]
cmp eax, esi
je 0x479212
cmp ecx, 2
je 0x478f8c
cmp ecx, esi
je 0x478f8c
cmp ecx, 4
je 0x478f8c
cmp ecx, 3
jne 0x479212
cmp edi, 3
jne 0x478fa9
fld dword [0x7ac6fc]
mov ebp, 0xc
call fcn.004a4cf8
movsx ecx, ax
add ecx, 0x56
jmp 0x478fc2
fld dword [0x7ac6fc]
mov ebp, 0x10
call fcn.004a4cf8
movsx ecx, ax
add ecx, 0xbe
mov eax, dword [0x76fa24]
mov dword [esp + 0x14], ecx
cmp eax, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], esi
jle 0x4791a5
mov esi, 0x7b1320
mov dword [esp + 0x20], esi
cmp dword [esi], 0
je 0x479188
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x479021
mov eax, dword [0x785a38]
cmp edi, 6
je 0x479004
mov eax, dword [0x785a3c]
push eax
lea edx, [ebp + ebp]
push 0xff00ffff
push ebp
sub ecx, edx
push 8
push ecx
push 0xda
call fcn.0048bf70
add esp, 0x18
mov eax, dword [0x82d984]
mov ecx, dword [esi + 4]
cmp ecx, eax
jne 0x47908a
mov ecx, dword [0x84751c]
push 0
push 0x3e8
push 0
push ecx
call fcn.004a4e00
mov ecx, dword [0x847520]
push 0
push ecx
push edx
push eax
call fcn.004a4d50
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
fild qword [esp + 0x40]
fmul dword [0x4b0424]
fsin
fmul qword [0x4b05e0]
fadd qword [0x4b05d8]
call fcn.004a4cf8
mov edx, dword [esp + 0x24]
mov edi, eax
inc edx
mov dword [0x7ac6a0], edx
jmp 0x47908f
mov edi, 0xff
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x48]
inc eax
push eax
push str._2.2d
push ecx
call ebx
mov edx, dword [esp + 0x30]
mov esi, edi
shl esi, 8
imul edx, ebp
or esi, edi
mov eax, dword [esp + 0x20]
shl esi, 8
or esi, edi
lea ecx, [esp + 0x54]
shl esi, 8
or esi, edi
push ecx
push esi
add eax, edx
push ebp
push 8
push eax
push 0xda
mov dword [esp + 0x5c], eax
call fcn.0048bf70
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x6c]
mov eax, dword [edx + 4]
add eax, 0x4224
push eax
push str._0.12s
push ecx
call ebx
mov eax, edi
mov ecx, dword [esp + 0x68]
shl eax, 0x10
or eax, edi
lea edx, [esp + 0x78]
shl eax, 8
or eax, edi
push edx
push eax
push ebp
push 8
push ecx
push 0xf2
call fcn.0048bf70
mov edx, dword [esp + 0x68]
mov edi, 0x3e8
add esp, 0x48
mov ecx, dword [edx]
xor edx, edx
mov eax, ecx
div edi
mov eax, 0x10624dd3
mov edi, 0x3c
push edx
mul ecx
mov eax, edx
xor edx, edx
shr eax, 6
div edi
mov eax, 0x45e7b273
push edx
mul ecx
shr edx, 0xe
push edx
lea eax, [esp + 0x54]
push 0x4babfc
push eax
call ebx
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x5c]
push ecx
push esi
push ebp
push 8
push edx
push 0x15a
call fcn.0048bf70
mov eax, dword [esp + 0x50]
mov edi, dword [0x784eb0]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x4c]
add esp, 0x2c
inc eax
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x1c]
mov eax, dword [0x76fa24]
inc edx
add esi, 8
cmp edx, eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], esi
jl 0x478fe4
mov eax, dword [0x7850d0]
mov ecx, dword [0x4d6ab4]
xor esi, esi
cmp eax, esi
jne 0x4791ed
cmp ecx, 4
je 0x4791ed
cmp ecx, 3
je 0x4791ed
fld dword [0x4ba884]
fmul dword [0x4b015c]
fadd dword [0x7ac6fc]
fst dword [0x7ac6fc]
fcomp dword [0x4b0004]
fnstsw ax
test ah, 0x41
jne 0x47921c
mov dword [0x7ac6fc], esi
jmp 0x47921c
fld dword [0x4ba884]
fmul dword [0x4b015c]
fsubr dword [0x7ac6fc]
fst dword [0x7ac6fc]
fcomp dword [0x4b05d0]
fnstsw ax
test ah, 1
je 0x47921c
mov dword [0x7ac6fc], 0xc3f00000
cmp edi, 7
jne 0x479275
cmp ecx, 4
je 0x47922b
cmp ecx, 5
jne 0x479247
mov edx, dword [0x82d984]
cmp dword [edx + 0x4204], 3
jae 0x479247
call fcn.0047a5d0
mov edi, dword [0x784eb0]
jmp 0x47927f
cmp ecx, 3
je 0x479251
cmp ecx, 5
jne 0x479275
mov eax, dword [0x82d984]
cmp dword [eax + 0x4204], 3
jb 0x479275
cmp dword [0x7b561c], 0xffffffff
je 0x479275
call fcn.0047a970
mov edi, dword [0x784eb0]
jmp 0x47927f
mov dword [0x7ac700], 0xc4200000
cmp edi, 4
je 0x47928f
cmp edi, 6
jne 0x4793a1
xor esi, esi
cmp dword [0x7af7e0], esi
jne 0x4793a1
mov ebp, dword [0x82d97c]
mov esi, 0x40
test ebp, ebp
je 0x4792f7
mov eax, dword [ebp + 4]
test eax, eax
je 0x4792eb
mov eax, dword [ebp + 0x4238]
test eax, eax
jne 0x4792eb
lea edi, [ebp + 0x4224]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x280
shl ecx, 3
push 0xffffffffffffffff
sub edx, ecx
push 0x10
push 8
shr edx, 1
push esi
push edx
call fcn.0048bf70
add esp, 0x18
add esi, 0x10
mov ebp, dword [ebp + 0xc]
test ebp, ebp
jne 0x4792aa
cmp esi, 0x40
jne 0x47932b
cmp dword [0x784eb4], 1
je 0x47932b
mov edi, dword [0x785c90]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x280
shl ecx, 3
push 0xff00ffff
sub eax, ecx
push 0x10
push 8
shr eax, 1
push 0x20
push eax
jmp 0x479354
mov edi, dword [0x785c8c]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x280
shl ecx, 3
push 0xff00ffff
sub edx, ecx
push 0x10
push 8
shr edx, 1
push 0x20
push edx
call fcn.0048bf70
mov eax, dword [0x784eb4]
add esp, 0x18
cmp eax, 1
jne 0x47939b
fld dword [0x7b08c4]
call fcn.004a4cf8
push eax
lea eax, [esp + 0x4c]
push 0x4b8808
push eax
call ebx
lea ecx, [esp + 0x54]
push ecx
push 0xffff0000
push 0x10
push 8
push 0x20
push 0x178
call fcn.0048bf70
add esp, 0x24
mov edi, dword [0x784eb0]
mov eax, dword [0x7b08a8]
test eax, eax
je 0x479418
cmp edi, 4
je 0x4793b4
cmp edi, 6
jne 0x479418
mov edx, dword [0x84751c]
push 0
push 0x3e8
push 0
push edx
call fcn.004a4e00
mov ecx, dword [0x847520]
push 0
push ecx
push edx
push eax
call fcn.004a4d50
test ah, 1
jne 0x479418
mov edi, dword [0x785c88]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x280
shl ecx, 3
push 0xff00ff00
sub edx, ecx
push 0x10
push 8
shr edx, 1
push 0xa0
push edx
call fcn.0048bf70
mov edi, dword [0x784eb0]
add esp, 0x18
mov eax, dword [0x82dcf8]
test eax, eax
je 0x479473
push 0x4c0cf8
push 0xff00ffff
push 0xc
push 8
push 0x188
push 0x90
call fcn.0048bf70
mov eax, dword [0x785058]
lea ecx, [esp + 0x60]
push eax
push 0x4b89b8
push ecx
call ebx
lea edx, [esp + 0x6c]
push edx
push 0xffffffffffffffff
push 0xc
push 8
push 0x194
push 0x90
call fcn.0048bf70
mov edi, dword [0x784eb0]
add esp, 0x3c
cmp edi, 4
je 0x479481
cmp edi, 6
jne 0x4795c3
fld dword [0x785170]
fcomp dword [0x4b0004]
fnstsw ax
test ah, 0x40
jne 0x47952e
fld dword [0x785170]
fmul dword [0x4b0314]
fadd dword [0x4b003c]
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and eax, 0xffffff
cmp eax, 0xff
mov dword [esp + 0x24], eax
jle 0x4794ca
mov dword [esp + 0x24], 0xff
mov eax, dword [esp + 0x24]
mov ebx, 2
shl eax, 0x18
mov dword [esp + 0x24], eax
mov esi, 0x785260
mov ebp, 0x78532c
mov eax, dword [ebp]
mov ecx, dword [esp + 0x24]
or eax, ecx
lea ecx, [ebx + ebx*2]
push esi
push eax
lea edx, [ecx*4 + 0x38]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x280
shl ecx, 3
sub eax, ecx
push 0xc
push 8
push edx
shr eax, 1
push eax
call fcn.0048bf70
add esp, 0x18
add ebp, 4
inc ebx
add esi, 0x2e
cmp ebp, 0x785338
jl 0x4794e4
mov eax, dword [0x7852ec]
test eax, eax
je 0x4795c3
mov edi, 0x7852f4
or ecx, 0xffffffff
xor eax, eax
push 0x7852f4
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x280
mov esi, ecx
push 0xffffffffffffffff
shl esi, 3
sub eax, esi
push 0xc
cdq
sub eax, edx
push 8
sar eax, 1
push 0x80
push eax
call fcn.0048bf70
mov ecx, dword [0x84751c]
add esp, 0x18
push 0
push 0x3e8
push 0
push ecx
call fcn.004a4e00
mov ecx, dword [0x847520]
push 0
push ecx
push edx
push eax
call fcn.004a4d50
test ah, 1
jne 0x4795c3
mov eax, esi
push 0x4bcd78
cdq
sub eax, edx
push 0xffffffffffffffff
sar eax, 1
push 0xc
push 8
add eax, 0x140
push 0x80
push eax
call fcn.0048bf70
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret