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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5ea718
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6c
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x20]
call fcn.005e2960
mov eax, dword [esi + 0x9910]
xor ebx, ebx
push ebx
push ebx
push 0x147
push eax
mov dword [esp + 0x90], ebx
call dword [0x600bfc]
mov edi, eax
cmp edi, ebx
je case.0x472cd4.12
cmp edi, 1
jne 0x470a2a
fld qword [esi + 0x9d80]
fmul qword [0x601400]
fstp qword [esp + 0x2c]
jmp 0x470a3e
mov ecx, dword [esi + 0x9d80]
mov edx, dword [esi + 0x9d84]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
mov ecx, dword [esi + 0x9d9c]
mov eax, dword [esi + 0x9d98]
lea edx, [esp + 0x20]
mov dword [esp + 0x38], ecx
push edx
lea ecx, [esi + 0x9b30]
mov dword [esp + 0x38], eax
call fcn.005e2a5c
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.005e2b04
call fcn.00543c70
fstp qword [esp + 0x70]
add esp, 4
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esi + 0x9af0]
call fcn.005e2a5c
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.005e2b04
call fcn.00543c70
fld qword [0x62fc28]
fmul qword [esp + 0x70]
fld qword [0x63a9b0]
fsub qword [0x63aab0]
add esp, 4
cmp edi, 1
fdivp st(1)
fst qword [esp + 0x4c]
fmul qword [0x606428]
fstp qword [esp + 0xc]
fmul qword [0x62fc30]
fld qword [0x63a9b8]
fsub qword [0x63aab8]
fdivp st(1)
fld st(0)
fmul qword [0x606428]
fstp qword [esp + 0x14]
fld qword [esp + 0x4c]
fmul qword [0x606420]
fstp qword [esp + 0x3c]
fld st(0)
fmul qword [0x606420]
fstp qword [esp + 0x54]
fld qword [esp + 0x4c]
fmul qword [0x606418]
fstp qword [esp + 0x44]
fld st(0)
fmul qword [0x606418]
fstp qword [esp + 0x5c]
fld qword [esp + 0x4c]
fmul qword [0x606410]
fstp qword [esp + 0x4c]
fmul qword [0x606410]
fstp qword [esp + 0x64]
jne 0x4719c3
mov ecx, dword [0x640780]
cmp word [ecx + 2], di
jne 0x471039
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x600bfc]
cmp eax, ebx
jle case.0x472cd4.12
mov eax, dword [0x640780]
xor ecx, ecx
mov cx, word [eax + 0xe]
lea edi, [ecx - 8]
cmp edi, 0x18
ja case.0x472cd4.12
xor ecx, ecx
mov cl, byte [edi + 0x4735e0]
jmp dword [ecx*4 + 0x4735cc]
mov ecx, dword [ebp + 8]
xor edi, edi
cmp dword [ecx + 4], ebx
jbe case.0x472cd4.12
fld qword [esp + 0x2c]
fadd qword [0x6018a8]
mov edx, dword [ecx]
xor ecx, ecx
mov dword [esp + 0x68], ebx
mov cl, byte [edx + edi]
mov edx, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x64], edx
fild dword [esp + 0x14]
fild qword [esp + 0x64]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fsubp st(1)
fst qword [esi + 0x3230]
fmul qword [0x6034f0]
fsin
fxch st(1)
fsub qword [0x606598]
fmul qword [esp + 0x2c]
fmul qword [0x606638]
fadd qword [0x6018a8]
fdiv st(2)
fmulp st(1)
fmul qword [esp + 0xc]
fadd qword [0x606598]
fcom qword [0x606428]
fnstsw ax
test ah, 0x41
jne 0x470c3b
fstp st(0)
fld qword [0x606428]
jmp 0x470c50
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x470c50
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
jb 0x470bad
fstp st(0)
jmp case.0x472cd4.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], ebx
cmp dword [ecx + 4], ebx
jbe case.0x472cd4.12
fld qword [esp + 0x2c]
fadd qword [0x6018a8]
mov edx, dword [ebp + 8]
mov dword [esp + 0x68], ebx
mov ecx, dword [edx]
mov edx, dword [esp + 0x14]
lea edi, [ecx + edx]
mov cl, byte [ecx + edx]
mov dl, byte [edi + 1]
mov byte [esp + 0xc], cl
mov byte [esp + 0xd], dl
mov ecx, dword [esp + 0xc]
mov edx, dword [eax + 4]
add ecx, 0x8000
mov dword [esp + 0x64], edx
and ecx, 0xffff
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fild qword [esp + 0x64]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005e35c0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
fmul qword [0x6034f0]
fsin
fxch st(1)
fsub qword [0x606630]
fmul qword [esp + 0x2c]
fmul qword [0x606628]
fadd qword [0x6018a8]
fdiv st(2)
fmulp st(1)
fmul qword [esp + 0x3c]
fadd qword [0x606630]
fcom qword [0x606420]
fnstsw ax
test ah, 0x41
jne 0x470d49
fstp st(0)
fld qword [0x606420]
jmp 0x470d5e
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x470d5e
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
add eax, 0x8000
mov word [esp + 0xc], ax
mov eax, dword [edi]
mov dl, byte [esp + 0xc]
mov byte [eax + ecx], dl
mov eax, dword [edi]
mov dl, byte [esp + 0xd]
mov byte [eax + ecx + 1], dl
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add ecx, edx
mov edx, dword [edi + 4]
cmp ecx, edx
mov dword [esp + 0x14], ecx
jb 0x470c96
fstp st(0)
jmp case.0x472cd4.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], ebx
cmp dword [ecx + 4], ebx
jbe case.0x472cd4.12
fld qword [esp + 0x2c]
fadd qword [0x6018a8]
mov edx, dword [ebp + 8]
mov byte [esp + 0xf], bl
mov eax, dword [eax + 4]
mov dword [esp + 0x68], ebx
mov ecx, dword [edx]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
lea edi, [ecx + edx]
mov cl, byte [ecx + edx]
mov dl, byte [edi + 1]
mov byte [esp + 0xc], cl
mov cl, byte [edi + 2]
mov byte [esp + 0xd], dl
mov byte [esp + 0xe], cl
mov edx, dword [esp + 0xc]
add edx, 0xff800000
and edx, 0xffffff
mov dword [esp + 0x64], edx
fild qword [esp + 0x64]
fild qword [esp + 0x5c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005e35c0
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
fmul qword [0x6034f0]
fsin
fxch st(1)
fsub qword [0x606620]
fmul qword [esp + 0x2c]
fmul qword [0x606618]
fadd qword [0x6018a8]
fdiv st(2)
fmulp st(1)
fmul qword [esp + 0x44]
fadd qword [0x606620]
fcom qword [0x606418]
fnstsw ax
test ah, 0x41
jne 0x470e86
fstp st(0)
fld qword [0x606418]
jmp 0x470e9b
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x470e9b
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
add eax, 0x800000
mov edx, dword [edi]
mov dword [esp + 0xc], eax
mov byte [edx + ecx], al
mov edx, dword [edi]
mov al, byte [esp + 0xd]
mov byte [edx + ecx + 1], al
mov edx, dword [edi]
mov al, byte [esp + 0xe]
mov byte [edx + ecx + 2], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add ecx, edx
mov edx, dword [edi + 4]
cmp ecx, edx
mov dword [esp + 0x14], ecx
jb 0x470dc4
fstp st(0)
jmp case.0x472cd4.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], ebx
cmp dword [ecx + 4], ebx
jbe case.0x472cd4.12
fld qword [esp + 0x2c]
fadd qword [0x6018a8]
mov edx, dword [ebp + 8]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x60], ebx
mov ecx, dword [edx]
mov edx, dword [esp + 0x14]
lea edi, [ecx + edx]
mov cl, byte [ecx + edx]
mov dl, byte [edi + 1]
mov byte [esp + 0xc], cl
mov cl, byte [edi + 2]
mov byte [esp + 0xd], dl
mov dl, byte [edi + 3]
mov byte [esp + 0xe], cl
mov byte [esp + 0xf], dl
mov ecx, dword [esp + 0xc]
mov edx, dword [eax + 4]
add ecx, 0x80000000
mov dword [esp + 0x5c], edx
mov dword [esp + 0x64], ecx
fild qword [esp + 0x64]
fild qword [esp + 0x5c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005e35c0
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
fmul qword [0x6034f0]
fsin
fxch st(1)
fsub qword [0x606610]
fmul qword [esp + 0x2c]
fmul qword [0x606608]
fadd qword [0x6018a8]
fdiv st(2)
fmulp st(1)
fmul qword [esp + 0x4c]
fadd qword [0x606610]
fcom qword [0x606410]
fnstsw ax
test ah, 0x41
jne 0x470fc5
fstp st(0)
fld qword [0x606410]
jmp 0x470fda
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x470fda
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
sub eax, 0x80000000
mov dword [esp + 0xc], eax
mov eax, dword [edi]
mov dl, byte [esp + 0xc]
mov byte [eax + ecx], dl
mov eax, dword [edi]
mov dl, byte [esp + 0xd]
mov byte [eax + ecx + 1], dl
mov eax, dword [edi]
mov dl, byte [esp + 0xe]
mov byte [eax + ecx + 2], dl
mov eax, dword [edi]
mov dl, byte [esp + 0xf]
mov byte [eax + ecx + 3], dl
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add ecx, edx
mov edx, dword [edi + 4]
cmp ecx, edx
mov dword [esp + 0x14], ecx
jb 0x470f06
fstp st(0)
jmp case.0x472cd4.12
xor eax, eax
mov ax, word [ecx + 0xe]
add eax, 0xfffffff8
cmp eax, 0x18
ja case.0x472cd4.12
xor ecx, ecx
mov cl, byte [eax + 0x473610]
jmp dword [ecx*4 + 0x4735fc]
mov edx, dword [ebp + 8]
xor edi, edi
cmp dword [edx + 4], ebx
jbe case.0x472cd4.12
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x600bfc]
cmp eax, ebx
jle 0x471149
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x68], ebx
mov edx, dword [ecx]
mov ecx, dword [0x640780]
mov al, byte [edx + edi]
mov edx, dword [ecx + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x64], edx
fild dword [esp + 0x24]
fild qword [esp + 0x64]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005e35c0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
fmul qword [0x6034f0]
fsin
fxch st(1)
fsub qword [0x606598]
fmul qword [esp + 0x2c]
fmul qword [0x606638]
fadd qword [0x6018a8]
fld qword [esp + 0x2c]
fadd qword [0x6018a8]
fdivp st(1)
fmulp st(1)
fmul qword [esp + 0xc]
fadd qword [0x606598]
fcom qword [0x606428]
fnstsw ax
test ah, 0x41
jne 0x471127
fstp st(0)
fld qword [0x606428]
jmp 0x47113c
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x47113c
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi], al
mov eax, dword [esi + 0x9bd0]
push ebx
push ebx
push 0x147
push eax
call dword [0x600bfc]
cmp eax, ebx
jle 0x47122a
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x58], ebx
mov edx, dword [ecx]
mov ecx, dword [0x640780]
mov al, byte [edx + edi + 1]
mov edx, dword [ecx + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x54], edx
fild dword [esp + 0x24]
fild qword [esp + 0x54]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
fld st(0)
call fcn.005e35c0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fsubp st(1)
fst qword [esi + 0x3238]
fmul qword [0x6034f0]
fsin
fxch st(1)
fsub qword [0x606598]
fmul qword [esp + 0x2c]
fmul qword [0x606638]
fadd qword [0x6018a8]
fld qword [esp + 0x2c]
fadd qword [0x6018a8]
fdivp st(1)
fmulp st(1)
fmul qword [esp + 0x14]
fadd qword [0x606598]
fcom qword [0x606428]
fnstsw ax
test ah, 0x41
jne 0x471207
fstp st(0)
fld qword [0x606428]
jmp 0x47121c
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x47121c
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi + 1], al
mov ecx, dword [0x640780]
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [ecx + 0xc]
add edi, eax
mov eax, dword [edx + 4]
cmp edi, eax
jb 0x471068
jmp case.0x472cd4.12
mov eax, dword [ebp + 8]
xor edi, edi
cmp dword [eax + 4], ebx
jbe case.0x472cd4.12
mov ecx, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push ecx
call dword [0x600bfc]
cmp eax, ebx
jle 0x47136b
mov edx, dword [ebp + 8]
mov dword [esp + 0x68], ebx
mov eax, dword [edx]
mov dl, byte [eax + edi + 1]
add eax, edi
mov byte [esp + 0xd], dl
mov cl, byte [eax]
mov byte [esp + 0xc], cl
mov ecx, dword [0x640780]
mov eax, dword [esp + 0xc]
mov edx, dword [ecx + 4]
add eax, 0x8000
and eax, 0xffff
mov dword [esp + 0x64], edx
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fild qword [esp + 0x64]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005e35c0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
fmul qword [0x6034f0]
fsin
fxch st(1)
fsub qword [0x606630]
fmul qword [esp + 0x2c]
fmul qword [0x606628]
fadd qword [0x6018a8]
fld qword [esp + 0x2c]
fadd qword [0x6018a8]
fdivp st(1)
fmulp st(1)
fmul qword [esp + 0x3c]
fadd qword [0x606630]
fcom qword [0x606420]
fnstsw ax
test ah, 0x41
jne 0x471331
fstp st(0)
fld qword [0x606420]
jmp 0x471346
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x471346
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
add eax, 0x8000
mov word [esp + 0xc], ax
mov eax, dword [ebp + 8]
mov dl, byte [esp + 0xc]
mov ecx, dword [eax]
mov byte [ecx + edi], dl
mov eax, dword [eax]
mov cl, byte [esp + 0xd]
mov byte [eax + edi + 1], cl
mov edx, dword [esi + 0x9bd0]
push ebx
push ebx
push 0x147
push edx
call dword [0x600bfc]
cmp eax, ebx
jle 0x471482
mov eax, dword [ebp + 8]
mov dword [esp + 0x50], ebx
mov ecx, dword [eax]
mov dl, byte [ecx + edi + 2]
lea eax, [ecx + edi]
mov byte [esp + 0xc], dl
mov edx, dword [0x640780]
mov al, byte [eax + 3]
mov byte [esp + 0xd], al
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x4c], eax
add ecx, 0x8000
and ecx, 0xffff
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fild qword [esp + 0x4c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
call fcn.005e35c0
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ebx
fild qword [esp + 0x44]
fsubr qword [esi + 0x3238]
fst qword [esi + 0x3238]
fmul qword [0x6034f0]
fsin
fxch st(1)
fsub qword [0x606630]
fmul qword [esp + 0x2c]
fmul qword [0x606628]
fadd qword [0x6018a8]
fld qword [esp + 0x2c]
fadd qword [0x6018a8]
fdivp st(1)
fmulp st(1)
fmul qword [esp + 0x54]
fadd qword [0x606630]
fcom qword [0x606420]
fnstsw ax
test ah, 0x41
jne 0x471447
fstp st(0)
fld qword [0x606420]
jmp 0x47145c
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x47145c
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
add eax, 0x8000
mov word [esp + 0xc], ax
mov eax, dword [ebp + 8]
mov dl, byte [esp + 0xc]
mov ecx, dword [eax]
mov byte [ecx + edi + 2], dl
mov eax, dword [eax]
mov cl, byte [esp + 0xd]
mov byte [eax + edi + 3], cl
mov eax, dword [0x640780]
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [eax + 0xc]
mov eax, dword [ecx + 4]
add edi, edx
cmp edi, eax
jb 0x471259
jmp case.0x472cd4.12
mov edx, dword [ebp + 8]
xor edi, edi
cmp dword [edx + 4], ebx
jbe case.0x472cd4.12
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x600bfc]
cmp eax, ebx
jle 0x4715de
mov ecx, dword [ebp + 8]
mov byte [esp + 0xf], bl
mov dword [esp + 0x68], ebx
mov dword [esp + 0x58], ebx
mov edx, dword [ecx]
mov cl, byte [edx + edi]
mov byte [esp + 0xc], cl
lea eax, [edx + edi]
mov dl, byte [edx + edi + 1]
mov al, byte [eax + 2]
mov byte [esp + 0xd], dl
mov edx, dword [0x640780]
mov byte [esp + 0xe], al
mov ecx, dword [esp + 0xc]
mov eax, dword [edx + 4]
add ecx, 0xff800000
mov dword [esp + 0x54], eax
and ecx, 0xffffff
mov dword [esp + 0x64], ecx
fild qword [esp + 0x64]
fild qword [esp + 0x54]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005e35c0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
fmul qword [0x6034f0]
fsin
fxch st(1)
fsub qword [0x606620]
fmul qword [esp + 0x2c]
fmul qword [0x606618]
fadd qword [0x6018a8]
fld qword [esp + 0x2c]
fadd qword [0x6018a8]
fdivp st(1)
fmulp st(1)
fmul qword [esp + 0x44]
fadd qword [0x606620]
fcom qword [0x606418]
fnstsw ax
test ah, 0x41
jne 0x47159b
fstp st(0)
fld qword [0x606418]
jmp 0x4715b0
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x4715b0
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
add eax, 0x800000
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dl, byte [esp + 0xc]
mov ecx, dword [eax]
mov byte [ecx + edi], dl
mov ecx, dword [eax]
mov dl, byte [esp + 0xd]
mov byte [ecx + edi + 1], dl
mov eax, dword [eax]
mov cl, byte [esp + 0xe]
mov byte [eax + edi + 2], cl
mov edx, dword [esi + 0x9bd0]
push ebx
push ebx
push 0x147
push edx
call dword [0x600bfc]
cmp eax, ebx
jle 0x47170b
mov eax, dword [ebp + 8]
mov byte [esp + 0xf], bl
mov dword [esp + 0x40], ebx
mov dword [esp + 0x28], ebx
mov ecx, dword [eax]
mov dl, byte [ecx + edi + 3]
lea eax, [ecx + edi]
mov byte [esp + 0xc], dl
mov cl, byte [eax + 4]
mov dl, byte [eax + 5]
mov byte [esp + 0xd], cl
mov ecx, dword [0x640780]
mov byte [esp + 0xe], dl
mov eax, dword [esp + 0xc]
mov edx, dword [ecx + 4]
add eax, 0xff800000
mov dword [esp + 0x24], edx
and eax, 0xffffff
mov dword [esp + 0x3c], eax
fild qword [esp + 0x3c]
fild qword [esp + 0x24]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
call fcn.005e35c0
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
fild qword [esp + 0x14]
fsubr qword [esi + 0x3238]
fst qword [esi + 0x3238]
fmul qword [0x6034f0]
fsin
fxch st(1)
fsub qword [0x606620]
fmul qword [esp + 0x2c]
fmul qword [0x606618]
fadd qword [0x6018a8]
fld qword [esp + 0x2c]
fadd qword [0x6018a8]
fdivp st(1)
fmulp st(1)
fmul qword [esp + 0x5c]
fadd qword [0x606620]
fcom qword [0x606418]
fnstsw ax
test ah, 0x41
jne 0x4716c7
fstp st(0)
fld qword [0x606418]
jmp 0x4716dc
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x4716dc
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
add eax, 0x800000
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dl, byte [esp + 0xc]
mov ecx, dword [eax]
mov byte [ecx + edi + 3], dl
mov ecx, dword [eax]
mov dl, byte [esp + 0xd]
mov byte [ecx + edi + 4], dl
mov eax, dword [eax]
mov cl, byte [esp + 0xe]
mov byte [eax + edi + 5], cl
mov eax, dword [0x640780]
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [eax + 0xc]
mov eax, dword [ecx + 4]
add edi, edx
cmp edi, eax
jb 0x4714b0
jmp case.0x472cd4.12
mov edx, dword [ebp + 8]
xor edi, edi
cmp dword [edx + 4], ebx
jbe case.0x472cd4.12
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x600bfc]
cmp eax, ebx
jle 0x47186d
mov ecx, dword [ebp + 8]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x58], ebx
mov edx, dword [ecx]
mov cl, byte [edx + edi]
mov byte [esp + 0xc], cl
mov cl, byte [edx + edi + 2]
lea eax, [edx + edi]
mov byte [esp + 0xe], cl
mov ecx, dword [0x640780]
mov dl, byte [eax + 1]
mov byte [esp + 0xd], dl
mov dl, byte [eax + 3]
mov byte [esp + 0xf], dl
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x54], edx
add eax, 0x80000000
mov dword [esp + 0x5c], eax
fild qword [esp + 0x5c]
fild qword [esp + 0x54]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005e35c0
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ebx
fild qword [esp + 0x44]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
fmul qword [0x6034f0]
fsin
fxch st(1)
fsub qword [0x606610]
fmul qword [esp + 0x2c]
fmul qword [0x606608]
fadd qword [0x6018a8]
fld qword [esp + 0x2c]
fadd qword [0x6018a8]
fdivp st(1)
fmulp st(1)
fmul qword [esp + 0x4c]
fadd qword [0x606610]
fcom qword [0x606410]
fnstsw ax
test ah, 0x41
jne 0x471820
fstp st(0)
fld qword [0x606410]
jmp 0x471835
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x471835
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
sub eax, 0x80000000
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dl, byte [esp + 0xc]
mov ecx, dword [eax]
mov byte [ecx + edi], dl
mov ecx, dword [eax]
mov dl, byte [esp + 0xd]
mov byte [ecx + edi + 1], dl
mov ecx, dword [eax]
mov dl, byte [esp + 0xe]
mov byte [ecx + edi + 2], dl
mov eax, dword [eax]
mov cl, byte [esp + 0xf]
mov byte [eax + edi + 3], cl
mov edx, dword [esi + 0x9bd0]
push ebx
push ebx
push 0x147
push edx
call dword [0x600bfc]
cmp eax, ebx
jle 0x4719a3
mov eax, dword [ebp + 8]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x28], ebx
mov ecx, dword [eax]
mov dl, byte [ecx + edi + 4]
lea eax, [ecx + edi]
mov byte [esp + 0xc], dl
mov cl, byte [eax + 5]
mov dl, byte [eax + 6]
mov al, byte [eax + 7]
mov byte [esp + 0xd], cl
mov byte [esp + 0xe], dl
mov edx, dword [0x640780]
mov byte [esp + 0xf], al
mov ecx, dword [esp + 0xc]
mov eax, dword [edx + 4]
add ecx, 0x80000000
mov dword [esp + 0x24], eax
mov dword [esp + 0x3c], ecx
fild qword [esp + 0x3c]
fild qword [esp + 0x24]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
call fcn.005e35c0
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
fild qword [esp + 0x14]
fsubr qword [esi + 0x3238]
fst qword [esi + 0x3238]
fmul qword [0x6034f0]
fsin
fxch st(1)
fsub qword [0x606610]
fmul qword [esp + 0x2c]
fmul qword [0x606608]
fadd qword [0x6018a8]
fld qword [esp + 0x2c]
fadd qword [0x6018a8]
fdivp st(1)
fmulp st(1)
fmul qword [esp + 0x64]
fadd qword [0x606610]
fcom qword [0x606410]
fnstsw ax
test ah, 0x41
jne 0x471955
fstp st(0)
fld qword [0x606410]
jmp 0x47196a
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x47196a
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
sub eax, 0x80000000
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dl, byte [esp + 0xc]
mov ecx, dword [eax]
mov byte [ecx + edi + 4], dl
mov ecx, dword [eax]
mov dl, byte [esp + 0xd]
mov byte [ecx + edi + 5], dl
mov ecx, dword [eax]
mov dl, byte [esp + 0xe]
mov byte [ecx + edi + 6], dl
mov eax, dword [eax]
mov cl, byte [esp + 0xf]
mov byte [eax + edi + 7], cl
mov eax, dword [0x640780]
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [eax + 0xc]
mov eax, dword [ecx + 4]
add edi, edx
cmp edi, eax
jb 0x471739
jmp case.0x472cd4.12
cmp edi, 2
jne 0x472810
mov ecx, dword [0x640780]
cmp word [ecx + 2], 1
jne 0x471e88
mov edx, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push edx
call dword [0x600bfc]
cmp eax, ebx
jle case.0x472cd4.12
mov eax, dword [0x640780]
xor ecx, ecx
mov cx, word [eax + 0xe]
lea edi, [ecx - 8]
cmp edi, 0x18
ja case.0x472cd4.12
xor ecx, ecx
mov cl, byte [edi + 0x473640]
jmp dword [ecx*4 + 0x47362c]
mov ecx, dword [ebp + 8]
xor edi, edi
cmp dword [ecx + 4], ebx
jbe case.0x472cd4.12
mov edx, dword [ecx]
xor ecx, ecx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x60], ebx
mov cl, byte [edx + edi]
mov edx, dword [eax + 4]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x64], edx
fild dword [esp + 0x24]
xor ecx, ecx
mov eax, edi
fsub qword [0x606598]
fmul qword [esp + 0x2c]
fmul qword [0x606638]
fild qword [esp + 0x64]
fdivp st(1)
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
mov edx, dword [0x640780]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x640780]
fild dword [esp + 0x24]
mov ecx, dword [eax + 4]
mov dword [esp + 0x5c], ecx
fmul qword [esp + 0x34]
fild qword [esp + 0x5c]
fdivp st(1)
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0xc]
fadd qword [0x606598]
fcom qword [0x606428]
fnstsw ax
test ah, 0x41
jne 0x471ac7
fstp st(0)
fld qword [0x606428]
jmp 0x471adc
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x471adc
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
jb 0x471a2d
jmp case.0x472cd4.12
mov ecx, dword [ebp + 8]
xor edi, edi
cmp dword [ecx + 4], ebx
jbe case.0x472cd4.12
mov edx, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
mov ecx, dword [edx]
mov dl, byte [ecx + edi]
add ecx, edi
mov byte [esp + 0xc], dl
mov eax, edi
mov dword [esp + 0x60], ebx
mov cl, byte [ecx + 1]
mov byte [esp + 0xd], cl
xor ecx, ecx
mov edx, dword [esp + 0xc]
add edx, 0x8000
and edx, 0xffff
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fsub qword [0x606630]
fmul qword [esp + 0x2c]
fmul qword [0x606628]
fild qword [esp + 0x64]
fdivp st(1)
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
mov edx, dword [0x640780]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x640780]
fild dword [esp + 0x24]
mov ecx, dword [eax + 4]
mov dword [esp + 0x5c], ecx
fmul qword [esp + 0x34]
fild qword [esp + 0x5c]
fdivp st(1)
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x3c]
fadd qword [0x606630]
fcom qword [0x606420]
fnstsw ax
test ah, 0x41
jne 0x471bcc
fstp st(0)
fld qword [0x606420]
jmp 0x471be1
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x471be1
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
add eax, 0x8000
mov word [esp + 0xc], ax
mov edx, dword [ecx]
mov byte [edx + edi], al
mov edx, dword [ecx]
mov al, byte [esp + 0xd]
mov byte [edx + edi + 1], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
jb 0x471b14
jmp case.0x472cd4.12
mov ecx, dword [ebp + 8]
xor edi, edi
cmp dword [ecx + 4], ebx
jbe case.0x472cd4.12
mov edx, dword [ebp + 8]
mov byte [esp + 0xf], bl
mov dword [esp + 0x68], ebx
mov eax, dword [eax + 4]
mov ecx, dword [edx]
mov dl, byte [ecx + edi]
add ecx, edi
mov byte [esp + 0xc], dl
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
mov dl, byte [ecx + 1]
mov cl, byte [ecx + 2]
mov byte [esp + 0xd], dl
mov byte [esp + 0xe], cl
mov edx, dword [esp + 0xc]
xor ecx, ecx
add edx, 0xff800000
mov eax, edi
and edx, 0xffffff
mov dword [esp + 0x58], ebx
mov dword [esp + 0x64], edx
fild qword [esp + 0x64]
fsub qword [0x606620]
fmul qword [esp + 0x2c]
fmul qword [0x606618]
fild qword [esp + 0x5c]
fdivp st(1)
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
mov edx, dword [0x640780]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x640780]
fild dword [esp + 0x24]
mov ecx, dword [eax + 4]
mov dword [esp + 0x54], ecx
fmul qword [esp + 0x34]
fild qword [esp + 0x54]
fdivp st(1)
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x44]
fadd qword [0x606620]
fcom qword [0x606418]
fnstsw ax
test ah, 0x41
jne 0x471cf4
fstp st(0)
fld qword [0x606418]
jmp 0x471d09
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x471d09
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
add eax, 0x800000
mov dword [esp + 0xc], eax
mov edx, dword [ecx]
mov byte [edx + edi], al
mov edx, dword [ecx]
mov al, byte [esp + 0xd]
mov byte [edx + edi + 1], al
mov edx, dword [ecx]
mov al, byte [esp + 0xe]
mov byte [edx + edi + 2], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
jb 0x471c2d
jmp case.0x472cd4.12
mov ecx, dword [ebp + 8]
xor edi, edi
cmp dword [ecx + 4], ebx
jbe case.0x472cd4.12
mov edx, dword [ebp + 8]
mov dword [esp + 0x68], ebx
mov eax, dword [eax + 4]
mov dword [esp + 0x60], ebx
mov ecx, dword [edx]
mov dl, byte [ecx + edi]
add ecx, edi
mov byte [esp + 0xc], dl
mov dword [esp + 0x5c], eax
mov eax, edi
mov dl, byte [ecx + 1]
mov dword [esp + 0x58], ebx
mov byte [esp + 0xd], dl
mov dl, byte [ecx + 2]
mov cl, byte [ecx + 3]
mov byte [esp + 0xe], dl
mov byte [esp + 0xf], cl
xor ecx, ecx
mov edx, dword [esp + 0xc]
add edx, 0x80000000
mov dword [esp + 0x64], edx
fild qword [esp + 0x64]
fsub qword [0x606610]
fmul qword [esp + 0x2c]
fmul qword [0x606608]
fild qword [esp + 0x5c]
fdivp st(1)
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
mov edx, dword [0x640780]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x640780]
fild dword [esp + 0x24]
mov ecx, dword [eax + 4]
mov dword [esp + 0x54], ecx
fmul qword [esp + 0x34]
fild qword [esp + 0x54]
fdivp st(1)
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x4c]
fadd qword [0x606610]
fcom qword [0x606410]
fnstsw ax
test ah, 0x41
jne 0x471e22
fstp st(0)
fld qword [0x606410]
jmp 0x471e37
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x471e37
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
sub eax, 0x80000000
mov dword [esp + 0xc], eax
mov edx, dword [ecx]
mov byte [edx + edi], al
mov edx, dword [ecx]
mov al, byte [esp + 0xd]
mov byte [edx + edi + 1], al
mov edx, dword [ecx]
mov al, byte [esp + 0xe]
mov byte [edx + edi + 2], al
mov edx, dword [ecx]
mov al, byte [esp + 0xf]
mov byte [edx + edi + 3], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
jb 0x471d5e
jmp case.0x472cd4.12
xor eax, eax
mov ax, word [ecx + 0xe]
add eax, 0xfffffff8
cmp eax, 0x18
ja case.0x472cd4.12
xor ecx, ecx
mov cl, byte [eax + 0x473670]
jmp dword [ecx*4 + 0x47365c]
mov edx, dword [ebp + 8]
xor edi, edi
cmp dword [edx + 4], ebx
jbe case.0x472cd4.12
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x600bfc]
cmp eax, ebx
jle 0x471f98
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x68], ebx
mov dword [esp + 0x60], ebx
mov edx, dword [ecx]
mov ecx, dword [0x640780]
mov al, byte [edx + edi]
mov edx, dword [ecx + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x64], edx
fild dword [esp + 0x24]
xor ecx, ecx
mov eax, edi
fsub qword [0x606598]
fmul qword [esp + 0x2c]
fmul qword [0x606638]
fild qword [esp + 0x64]
fdivp st(1)
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
mov edx, dword [0x640780]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x640780]
fild dword [esp + 0x24]
mov ecx, dword [eax + 4]
mov dword [esp + 0x5c], ecx
fmul qword [esp + 0x34]
fild qword [esp + 0x5c]
fdivp st(1)
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0xc]
fadd qword [0x606598]
fcom qword [0x606428]
fnstsw ax
test ah, 0x41
jne 0x471f76
fstp st(0)
fld qword [0x606428]
jmp 0x471f8b
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x471f8b
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
mov byte [ecx + edi], al
mov edx, dword [esi + 0x9bd0]
push ebx
push ebx
push 0x147
push edx
call dword [0x600bfc]
cmp eax, ebx
jle 0x47207a
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x50], ebx
mov ecx, dword [eax]
mov eax, dword [0x640780]
mov dl, byte [ecx + edi + 1]
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], edx
mov dword [esp + 0x54], ecx
fild dword [esp + 0x24]
xor ecx, ecx
mov eax, edi
fsub qword [0x606598]
fmul qword [esp + 0x2c]
fmul qword [0x606638]
fild qword [esp + 0x54]
fdivp st(1)
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
mov edx, dword [0x640780]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x640780]
fild dword [esp + 0x24]
mov ecx, dword [eax + 4]
mov dword [esp + 0x4c], ecx
fmul qword [esp + 0x34]
fild qword [esp + 0x4c]
fdivp st(1)
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x14]
fadd qword [0x606598]
fcom qword [0x606428]
fnstsw ax
test ah, 0x41
jne 0x472057
fstp st(0)
fld qword [0x606428]
jmp 0x47206c
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x47206c
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
mov byte [ecx + edi + 1], al
mov eax, dword [0x640780]
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [eax + 0xc]
mov eax, dword [ecx + 4]
add edi, edx
cmp edi, eax
jb 0x471eb7
jmp case.0x472cd4.12
mov edx, dword [ebp + 8]
xor edi, edi
cmp dword [edx + 4], ebx
jbe case.0x472cd4.12
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x600bfc]
cmp eax, ebx
jle 0x4721bc
mov ecx, dword [ebp + 8]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x60], ebx
mov edx, dword [ecx]
mov cl, byte [edx + edi]
mov byte [esp + 0xc], cl
mov ecx, dword [0x640780]
lea eax, [edx + edi]
mov dl, byte [edx + edi + 1]
mov byte [esp + 0xd], dl
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x64], edx
add eax, 0x8000
xor ecx, ecx
and eax, 0xffff
mov dword [esp + 0x24], eax
mov eax, edi
fild dword [esp + 0x24]
fsub qword [0x606630]
fmul qword [esp + 0x2c]
fmul qword [0x606628]
fild qword [esp + 0x64]
fdivp st(1)
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
mov edx, dword [0x640780]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x640780]
fild dword [esp + 0x24]
mov ecx, dword [eax + 4]
mov dword [esp + 0x5c], ecx
fmul qword [esp + 0x34]
fild qword [esp + 0x5c]
fdivp st(1)
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x3c]
fadd qword [0x606630]
fcom qword [0x606420]
fnstsw ax
test ah, 0x41
jne 0x472182
fstp st(0)
fld qword [0x606420]
jmp 0x472197
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x472197
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
add eax, 0x8000
mov word [esp + 0xc], ax
mov eax, dword [ebp + 8]
mov cl, byte [esp + 0xc]
mov edx, dword [eax]
mov byte [edx + edi], cl
mov edx, dword [eax]
mov al, byte [esp + 0xd]
mov byte [edx + edi + 1], al
mov ecx, dword [esi + 0x9bd0]
push ebx
push ebx
push 0x147
push ecx
call dword [0x600bfc]
cmp eax, ebx
jle 0x4722d0
mov edx, dword [ebp + 8]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x48], ebx
mov eax, dword [edx]
mov dl, byte [eax + edi + 3]
add eax, edi
mov byte [esp + 0xd], dl
mov cl, byte [eax + 2]
mov byte [esp + 0xc], cl
mov ecx, dword [0x640780]
mov eax, dword [esp + 0xc]
add eax, 0x8000
mov edx, dword [ecx + 4]
and eax, 0xffff
mov dword [esp + 0x4c], edx
mov dword [esp + 0x24], eax
xor ecx, ecx
fild dword [esp + 0x24]
mov eax, edi
fsub qword [0x606630]
fmul qword [esp + 0x2c]
fmul qword [0x606628]
fild qword [esp + 0x4c]
fdivp st(1)
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
mov edx, dword [0x640780]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x640780]
fild dword [esp + 0x24]
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
fmul qword [esp + 0x34]
fild qword [esp + 0x44]
fdivp st(1)
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x54]
fadd qword [0x606630]
fcom qword [0x606420]
fnstsw ax
test ah, 0x41
jne 0x472295
fstp st(0)
fld qword [0x606420]
jmp 0x4722aa
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x4722aa
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
add eax, 0x8000
mov word [esp + 0xc], ax
mov eax, dword [ebp + 8]
mov cl, byte [esp + 0xc]
mov edx, dword [eax]
mov byte [edx + edi + 2], cl
mov edx, dword [eax]
mov al, byte [esp + 0xd]
mov byte [edx + edi + 3], al
mov edx, dword [0x640780]
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cx, word [edx + 0xc]
add edi, ecx
mov ecx, dword [eax + 4]
cmp edi, ecx
jb 0x4720a8
jmp case.0x472cd4.12
mov ecx, dword [ebp + 8]
xor edi, edi
cmp dword [ecx + 4], ebx
jbe case.0x472cd4.12
mov edx, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push edx
call dword [0x600bfc]
cmp eax, ebx
jle 0x47242a
mov eax, dword [ebp + 8]
mov byte [esp + 0xf], bl
mov dword [esp + 0x68], ebx
mov dword [esp + 0x58], ebx
mov ecx, dword [eax]
mov dword [esp + 0x50], ebx
mov dl, byte [ecx + edi]
lea eax, [ecx + edi]
mov byte [esp + 0xc], dl
mov cl, byte [eax + 1]
mov dl, byte [eax + 2]
mov byte [esp + 0xd], cl
mov byte [esp + 0xe], dl
mov eax, dword [esp + 0xc]
mov ecx, dword [0x640780]
add eax, 0xff800000
and eax, 0xffffff
mov edx, dword [ecx + 4]
mov dword [esp + 0x64], eax
mov dword [esp + 0x54], edx
fild qword [esp + 0x64]
xor ecx, ecx
mov eax, edi
fsub qword [0x606620]
fmul qword [esp + 0x2c]
fmul qword [0x606618]
fild qword [esp + 0x54]
fdivp st(1)
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
mov edx, dword [0x640780]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x640780]
fild dword [esp + 0x24]
mov ecx, dword [eax + 4]
mov dword [esp + 0x4c], ecx
fmul qword [esp + 0x34]
fild qword [esp + 0x4c]
fdivp st(1)
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x44]
fadd qword [0x606620]
fcom qword [0x606418]
fnstsw ax
test ah, 0x41
jne 0x4723e7
fstp st(0)
fld qword [0x606418]
jmp 0x4723fc
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x4723fc
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
add eax, 0x800000
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov cl, byte [esp + 0xc]
mov edx, dword [eax]
mov byte [edx + edi], cl
mov edx, dword [eax]
mov cl, byte [esp + 0xd]
mov byte [edx + edi + 1], cl
mov edx, dword [eax]
mov al, byte [esp + 0xe]
mov byte [edx + edi + 2], al
mov ecx, dword [esi + 0x9bd0]
push ebx
push ebx
push 0x147
push ecx
call dword [0x600bfc]
cmp eax, ebx
jle 0x472558
mov edx, dword [ebp + 8]
mov byte [esp + 0xf], bl
mov dword [esp + 0x40], ebx
mov dword [esp + 0x18], ebx
mov eax, dword [edx]
mov dl, byte [eax + edi + 4]
add eax, edi
mov byte [esp + 0xd], dl
mov edx, dword [0x640780]
mov dword [esp + 0x70], ebx
mov cl, byte [eax + 3]
mov al, byte [eax + 5]
mov byte [esp + 0xc], cl
mov byte [esp + 0xe], al
mov ecx, dword [esp + 0xc]
mov eax, dword [edx + 4]
add ecx, 0xff800000
mov dword [esp + 0x14], eax
and ecx, 0xffffff
mov eax, edi
mov dword [esp + 0x3c], ecx
xor ecx, ecx
fild qword [esp + 0x3c]
fsub qword [0x606620]
fmul qword [esp + 0x2c]
fmul qword [0x606618]
fild qword [esp + 0x14]
fdivp st(1)
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
mov edx, dword [0x640780]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x640780]
fild dword [esp + 0x24]
mov ecx, dword [eax + 4]
mov dword [esp + 0x6c], ecx
fmul qword [esp + 0x34]
fild qword [esp + 0x6c]
fdivp st(1)
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x5c]
fadd qword [0x606620]
fcom qword [0x606418]
fnstsw ax
test ah, 0x41
jne 0x472514
fstp st(0)
fld qword [0x606418]
jmp 0x472529
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x472529
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
add eax, 0x800000
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov cl, byte [esp + 0xc]
mov edx, dword [eax]
mov byte [edx + edi + 3], cl
mov edx, dword [eax]
mov cl, byte [esp + 0xd]
mov byte [edx + edi + 4], cl
mov edx, dword [eax]
mov al, byte [esp + 0xe]
mov byte [edx + edi + 5], al
mov edx, dword [0x640780]
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cx, word [edx + 0xc]
add edi, ecx
mov ecx, dword [eax + 4]
cmp edi, ecx
jb 0x4722ff
jmp case.0x472cd4.12
mov ecx, dword [ebp + 8]
xor edi, edi
cmp dword [ecx + 4], ebx
jbe case.0x472cd4.12
mov edx, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push edx
call dword [0x600bfc]
cmp eax, ebx
jle 0x4726bb
mov eax, dword [ebp + 8]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x58], ebx
mov ecx, dword [eax]
mov dl, byte [ecx + edi]
lea eax, [ecx + edi]
mov byte [esp + 0xc], dl
mov cl, byte [eax + 1]
mov dl, byte [eax + 2]
mov al, byte [eax + 3]
mov byte [esp + 0xd], cl
mov byte [esp + 0xe], dl
mov byte [esp + 0xf], al
mov ecx, dword [esp + 0xc]
mov edx, dword [0x640780]
add ecx, 0x80000000
mov dword [esp + 0x6c], ecx
mov eax, dword [edx + 4]
fild qword [esp + 0x6c]
mov dword [esp + 0x5c], eax
xor ecx, ecx
mov eax, edi
fsub qword [0x606610]
fmul qword [esp + 0x2c]
fmul qword [0x606608]
fild qword [esp + 0x5c]
fdivp st(1)
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
mov edx, dword [0x640780]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x640780]
fild dword [esp + 0x24]
mov ecx, dword [eax + 4]
mov dword [esp + 0x54], ecx
fmul qword [esp + 0x34]
fild qword [esp + 0x54]
fdivp st(1)
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x4c]
fadd qword [0x606610]
fcom qword [0x606410]
fnstsw ax
test ah, 0x41
jne 0x47266e
fstp st(0)
fld qword [0x606410]
jmp 0x472683
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x472683
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
sub eax, 0x80000000
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov cl, byte [esp + 0xc]
mov edx, dword [eax]
mov byte [edx + edi], cl
mov edx, dword [eax]
mov cl, byte [esp + 0xd]
mov byte [edx + edi + 1], cl
mov edx, dword [eax]
mov cl, byte [esp + 0xe]
mov byte [edx + edi + 2], cl
mov edx, dword [eax]
mov al, byte [esp + 0xf]
mov byte [edx + edi + 3], al
mov ecx, dword [esi + 0x9bd0]
push ebx
push ebx
push 0x147
push ecx
call dword [0x600bfc]
cmp eax, ebx
jle 0x4727ef
mov edx, dword [ebp + 8]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x18], ebx
mov eax, dword [edx]
mov dl, byte [eax + edi + 5]
add eax, edi
mov byte [esp + 0xd], dl
mov cl, byte [eax + 4]
mov dl, byte [eax + 7]
mov byte [esp + 0xc], cl
mov cl, byte [eax + 6]
mov byte [esp + 0xe], cl
mov byte [esp + 0xf], dl
mov eax, dword [esp + 0xc]
mov ecx, dword [0x640780]
add eax, 0x80000000
mov dword [esp + 0x44], eax
mov edx, dword [ecx + 4]
fild qword [esp + 0x44]
mov dword [esp + 0x3c], edx
xor ecx, ecx
mov eax, edi
fsub qword [0x606610]
fmul qword [esp + 0x2c]
fmul qword [0x606608]
fild qword [esp + 0x3c]
fdivp st(1)
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
mov edx, dword [0x640780]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x640780]
fild dword [esp + 0x24]
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], ecx
fmul qword [esp + 0x34]
fild qword [esp + 0x14]
fdivp st(1)
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x64]
fadd qword [0x606610]
fcom qword [0x606410]
fnstsw ax
test ah, 0x41
jne 0x4727a1
fstp st(0)
fld qword [0x606410]
jmp 0x4727b6
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x4727b6
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
sub eax, 0x80000000
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov cl, byte [esp + 0xc]
mov edx, dword [eax]
mov byte [edx + edi + 4], cl
mov edx, dword [eax]
mov cl, byte [esp + 0xd]
mov byte [edx + edi + 5], cl
mov edx, dword [eax]
mov cl, byte [esp + 0xe]
mov byte [edx + edi + 6], cl
mov edx, dword [eax]
mov al, byte [esp + 0xf]
mov byte [edx + edi + 7], al
mov edx, dword [0x640780]
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cx, word [edx + 0xc]
add edi, ecx
mov ecx, dword [eax + 4]
cmp edi, ecx
jb 0x472587
jmp case.0x472cd4.12
cmp edi, 3
jne case.0x472cd4.12
mov ecx, dword [0x640780]
cmp word [ecx + 2], 1
jne 0x472cba
mov ecx, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push ecx
call dword [0x600bfc]
cmp eax, ebx
jle case.0x472cd4.12
mov eax, dword [0x640780]
xor ecx, ecx
mov cx, word [eax + 0xe]
lea edi, [ecx - 8]
cmp edi, 0x18
ja case.0x472cd4.12
xor edx, edx
mov dl, byte [edi + 0x4736a0]
jmp dword [edx*4 + 0x47368c]
mov ecx, dword [ebp + 8]
xor edi, edi
cmp dword [ecx + 4], ebx
jbe case.0x472cd4.12
mov ecx, dword [ecx]
xor edx, edx
mov eax, dword [eax + 4]
mov dword [esp + 0x70], ebx
mov dl, byte [ecx + edi]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fsub qword [0x606598]
fmul qword [esp + 0x2c]
fmul qword [0x606600]
fild qword [esp + 0x6c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005e35c0
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0xc]
fadd qword [0x606598]
fcom qword [0x606428]
fnstsw ax
test ah, 0x41
jne 0x472900
fstp st(0)
fld qword [0x606428]
jmp 0x472915
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x472915
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
jb 0x47287a
jmp case.0x472cd4.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], ebx
cmp dword [ecx + 4], ebx
jbe case.0x472cd4.12
mov edx, dword [ebp + 8]
mov dword [esp + 0x70], ebx
mov ecx, dword [edx]
mov edx, dword [esp + 0x14]
lea edi, [ecx + edx]
mov cl, byte [ecx + edx]
mov dl, byte [edi + 1]
mov byte [esp + 0xc], cl
mov byte [esp + 0xd], dl
mov ecx, dword [esp + 0xc]
mov edx, dword [eax + 4]
add ecx, 0x8000
mov dword [esp + 0x6c], edx
and ecx, 0xffff
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fsub qword [0x606630]
fmul qword [esp + 0x2c]
fmul qword [0x6065f8]
fild qword [esp + 0x6c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005e35c0
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x3c]
fadd qword [0x606630]
fcom qword [0x606420]
fnstsw ax
test ah, 0x41
jne 0x4729f8
fstp st(0)
fld qword [0x606420]
jmp 0x472a0d
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x472a0d
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
add eax, 0x8000
mov word [esp + 0xc], ax
mov eax, dword [edi]
mov dl, byte [esp + 0xc]
mov byte [eax + ecx], dl
mov eax, dword [edi]
mov dl, byte [esp + 0xd]
mov byte [eax + ecx + 1], dl
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add ecx, edx
mov edx, dword [edi + 4]
cmp ecx, edx
mov dword [esp + 0x14], ecx
jb 0x47294f
jmp case.0x472cd4.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], ebx
cmp dword [ecx + 4], ebx
jbe case.0x472cd4.12
mov edx, dword [ebp + 8]
mov byte [esp + 0xf], bl
mov dword [esp + 0x70], ebx
mov eax, dword [eax + 4]
mov ecx, dword [edx]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
lea edi, [ecx + edx]
mov cl, byte [ecx + edx]
mov dl, byte [edi + 1]
mov byte [esp + 0xc], cl
mov cl, byte [edi + 2]
mov byte [esp + 0xd], dl
mov byte [esp + 0xe], cl
mov edx, dword [esp + 0xc]
add edx, 0xff800000
and edx, 0xffffff
mov dword [esp + 0x6c], edx
fild qword [esp + 0x6c]
fsub qword [0x606620]
fmul qword [esp + 0x2c]
fmul qword [0x6065f0]
fild qword [esp + 0x64]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005e35c0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x44]
fadd qword [0x606620]
fcom qword [0x606418]
fnstsw ax
test ah, 0x41
jne 0x472b1f
fstp st(0)
fld qword [0x606418]
jmp 0x472b34
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x472b34
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
add eax, 0x800000
mov edx, dword [edi]
mov dword [esp + 0xc], eax
mov byte [edx + ecx], al
mov edx, dword [edi]
mov al, byte [esp + 0xd]
mov byte [edx + ecx + 1], al
mov edx, dword [edi]
mov al, byte [esp + 0xe]
mov byte [edx + ecx + 2], al
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add ecx, edx
mov edx, dword [edi + 4]
cmp ecx, edx
mov dword [esp + 0x14], ecx
jb 0x472a67
jmp case.0x472cd4.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], ebx
cmp dword [ecx + 4], ebx
jbe case.0x472cd4.12
mov edx, dword [ebp + 8]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x68], ebx
mov ecx, dword [edx]
mov edx, dword [esp + 0x14]
lea edi, [ecx + edx]
mov cl, byte [ecx + edx]
mov dl, byte [edi + 1]
mov byte [esp + 0xc], cl
mov cl, byte [edi + 2]
mov byte [esp + 0xd], dl
mov dl, byte [edi + 3]
mov byte [esp + 0xe], cl
mov byte [esp + 0xf], dl
mov ecx, dword [esp + 0xc]
mov edx, dword [eax + 4]
add ecx, 0x80000000
mov dword [esp + 0x64], edx
mov dword [esp + 0x6c], ecx
fild qword [esp + 0x6c]
fsub qword [0x606610]
fmul qword [esp + 0x2c]
fmul qword [0x6065e8]
fild qword [esp + 0x64]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005e35c0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x4c]
fadd qword [0x606610]
fcom qword [0x606410]
fnstsw ax
test ah, 0x41
jne 0x472c48
fstp st(0)
fld qword [0x606410]
jmp 0x472c5d
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x472c5d
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
sub eax, 0x80000000
mov dword [esp + 0xc], eax
mov eax, dword [edi]
mov dl, byte [esp + 0xc]
mov byte [eax + ecx], dl
mov eax, dword [edi]
mov dl, byte [esp + 0xd]
mov byte [eax + ecx + 1], dl
mov eax, dword [edi]
mov dl, byte [esp + 0xe]
mov byte [eax + ecx + 2], dl
mov eax, dword [edi]
mov dl, byte [esp + 0xf]
mov byte [eax + ecx + 3], dl
mov eax, dword [0x640780]
xor edx, edx
mov dx, word [eax + 0xc]
add ecx, edx
mov edx, dword [edi + 4]
cmp ecx, edx
mov dword [esp + 0x14], ecx
jb 0x472b93
jmp case.0x472cd4.12
xor eax, eax
mov ax, word [ecx + 0xe]
add eax, 0xfffffff8
cmp eax, 0x18
ja case.0x472cd4.12
xor ecx, ecx
mov cl, byte [eax + 0x4736d0]
jmp dword [ecx*4 + 0x4736bc]
mov edx, dword [ebp + 8]
xor edi, edi
cmp dword [edx + 4], ebx
jbe case.0x472cd4.12
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x600bfc]
cmp eax, ebx
jle 0x472db6
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x70], ebx
mov edx, dword [ecx]
mov ecx, dword [0x640780]
mov al, byte [edx + edi]
mov edx, dword [ecx + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x6c], edx
fild dword [esp + 0x24]
fsub qword [0x606598]
fmul qword [esp + 0x2c]
fmul qword [0x606600]
fild qword [esp + 0x6c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005e35c0
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0xc]
fadd qword [0x606598]
fcom qword [0x606428]
fnstsw ax
test ah, 0x41
jne 0x472d94
fstp st(0)
fld qword [0x606428]
jmp 0x472da9
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x472da9
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi], al
mov eax, dword [esi + 0x9bd0]
push ebx
push ebx
push 0x147
push eax
call dword [0x600bfc]
cmp eax, ebx
jle 0x472e85
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x60], ebx
mov edx, dword [ecx]
mov ecx, dword [0x640780]
mov al, byte [edx + edi + 1]
mov edx, dword [ecx + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x5c], edx
fild dword [esp + 0x24]
fsub qword [0x606598]
fmul qword [esp + 0x2c]
fmul qword [0x606600]
fild qword [esp + 0x5c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
call fcn.005e35c0
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fsubr qword [esi + 0x3238]
fst qword [esi + 0x3238]
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x14]
fadd qword [0x606598]
fcom qword [0x606428]
fnstsw ax
test ah, 0x41
jne 0x472e62
fstp st(0)
fld qword [0x606428]
jmp 0x472e77
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x472e77
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi + 1], al
mov ecx, dword [0x640780]
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [ecx + 0xc]
add edi, eax
mov eax, dword [edx + 4]
cmp edi, eax
jb 0x472ce9
jmp case.0x472cd4.12
mov eax, dword [ebp + 8]
xor edi, edi
cmp dword [eax + 4], ebx
jbe case.0x472cd4.12
mov ecx, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push ecx
call dword [0x600bfc]
cmp eax, ebx
jle 0x472fb2
mov edx, dword [ebp + 8]
mov dword [esp + 0x70], ebx
mov eax, dword [edx]
mov dl, byte [eax + edi + 1]
add eax, edi
mov byte [esp + 0xd], dl
mov cl, byte [eax]
mov byte [esp + 0xc], cl
mov ecx, dword [0x640780]
mov eax, dword [esp + 0xc]
add eax, 0x8000
mov edx, dword [ecx + 4]
and eax, 0xffff
mov dword [esp + 0x6c], edx
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fsub qword [0x606630]
fmul qword [esp + 0x2c]
fmul qword [0x6065f8]
fild qword [esp + 0x6c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005e35c0
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x3c]
fadd qword [0x606630]
fcom qword [0x606420]
fnstsw ax
test ah, 0x41
jne 0x472f78
fstp st(0)
fld qword [0x606420]
jmp 0x472f8d
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x472f8d
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
add eax, 0x8000
mov word [esp + 0xc], ax
mov eax, dword [ebp + 8]
mov dl, byte [esp + 0xc]
mov ecx, dword [eax]
mov byte [ecx + edi], dl
mov eax, dword [eax]
mov cl, byte [esp + 0xd]
mov byte [eax + edi + 1], cl
mov edx, dword [esi + 0x9bd0]
push ebx
push ebx
push 0x147
push edx
call dword [0x600bfc]
cmp eax, ebx
jle 0x4730b5
mov eax, dword [ebp + 8]
mov dword [esp + 0x60], ebx
mov ecx, dword [eax]
mov dl, byte [ecx + edi + 2]
lea eax, [ecx + edi]
mov byte [esp + 0xc], dl
mov edx, dword [0x640780]
mov al, byte [eax + 3]
mov byte [esp + 0xd], al
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x5c], eax
add ecx, 0x8000
and ecx, 0xffff
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fsub qword [0x606630]
fmul qword [esp + 0x2c]
fmul qword [0x6065f8]
fild qword [esp + 0x5c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
call fcn.005e35c0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fsubr qword [esi + 0x3238]
fst qword [esi + 0x3238]
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x54]
fadd qword [0x606630]
fcom qword [0x606420]
fnstsw ax
test ah, 0x41
jne 0x47307a
fstp st(0)
fld qword [0x606420]
jmp 0x47308f
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x47308f
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
add eax, 0x8000
mov word [esp + 0xc], ax
mov eax, dword [ebp + 8]
mov dl, byte [esp + 0xc]
mov ecx, dword [eax]
mov byte [ecx + edi + 2], dl
mov eax, dword [eax]
mov cl, byte [esp + 0xd]
mov byte [eax + edi + 3], cl
mov eax, dword [0x640780]
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [eax + 0xc]
mov eax, dword [ecx + 4]
add edi, edx
cmp edi, eax
jb 0x472eb4
jmp case.0x472cd4.12
mov edx, dword [ebp + 8]
xor edi, edi
cmp dword [edx + 4], ebx
jbe case.0x472cd4.12
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x600bfc]
cmp eax, ebx
jle 0x4731fd
mov ecx, dword [ebp + 8]
mov byte [esp + 0xf], bl
mov dword [esp + 0x70], ebx
mov dword [esp + 0x68], ebx
mov edx, dword [ecx]
mov cl, byte [edx + edi]
mov byte [esp + 0xc], cl
lea eax, [edx + edi]
mov dl, byte [edx + edi + 1]
mov al, byte [eax + 2]
mov byte [esp + 0xd], dl
mov byte [esp + 0xe], al
mov ecx, dword [esp + 0xc]
mov edx, dword [0x640780]
add ecx, 0xff800000
and ecx, 0xffffff
mov eax, dword [edx + 4]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x64], eax
fild qword [esp + 0x6c]
fsub qword [0x606620]
fmul qword [esp + 0x2c]
fmul qword [0x6065f0]
fild qword [esp + 0x64]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005e35c0
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x44]
fadd qword [0x606620]
fcom qword [0x606418]
fnstsw ax
test ah, 0x41
jne 0x4731ba
fstp st(0)
fld qword [0x606418]
jmp 0x4731cf
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x4731cf
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
add eax, 0x800000
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dl, byte [esp + 0xc]
mov ecx, dword [eax]
mov byte [ecx + edi], dl
mov ecx, dword [eax]
mov dl, byte [esp + 0xd]
mov byte [ecx + edi + 1], dl
mov eax, dword [eax]
mov cl, byte [esp + 0xe]
mov byte [eax + edi + 2], cl
mov edx, dword [esi + 0x9bd0]
push ebx
push ebx
push 0x147
push edx
call dword [0x600bfc]
cmp eax, ebx
jle 0x473316
mov eax, dword [ebp + 8]
mov byte [esp + 0xf], bl
mov dword [esp + 0x50], ebx
mov dword [esp + 0x40], ebx
mov ecx, dword [eax]
mov dl, byte [ecx + edi + 3]
lea eax, [ecx + edi]
mov byte [esp + 0xc], dl
mov cl, byte [eax + 4]
mov dl, byte [eax + 5]
mov byte [esp + 0xd], cl
mov byte [esp + 0xe], dl
mov eax, dword [esp + 0xc]
mov ecx, dword [0x640780]
add eax, 0xff800000
and eax, 0xffffff
mov edx, dword [ecx + 4]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], edx
fild qword [esp + 0x4c]
fsub qword [0x606620]
fmul qword [esp + 0x2c]
fmul qword [0x6065f0]
fild qword [esp + 0x3c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
call fcn.005e35c0
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ebx
fild qword [esp + 0x24]
fsubr qword [esi + 0x3238]
fst qword [esi + 0x3238]
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x5c]
fadd qword [0x606620]
fcom qword [0x606418]
fnstsw ax
test ah, 0x41
jne 0x4732d2
fstp st(0)
fld qword [0x606418]
jmp 0x4732e7
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x4732e7
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
add eax, 0x800000
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dl, byte [esp + 0xc]
mov ecx, dword [eax]
mov byte [ecx + edi + 3], dl
mov ecx, dword [eax]
mov dl, byte [esp + 0xd]
mov byte [ecx + edi + 4], dl
mov eax, dword [eax]
mov cl, byte [esp + 0xe]
mov byte [eax + edi + 5], cl
mov eax, dword [0x640780]
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [eax + 0xc]
mov eax, dword [ecx + 4]
add edi, edx
cmp edi, eax
jb 0x4730e3
jmp case.0x472cd4.12
mov edx, dword [ebp + 8]
xor edi, edi
cmp dword [edx + 4], ebx
jbe case.0x472cd4.12
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x600bfc]
cmp eax, ebx
jle 0x473464
mov ecx, dword [ebp + 8]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x60], ebx
mov edx, dword [ecx]
mov cl, byte [edx + edi]
mov byte [esp + 0xc], cl
mov cl, byte [edx + edi + 2]
lea eax, [edx + edi]
mov byte [esp + 0xe], cl
mov ecx, dword [0x640780]
mov dl, byte [eax + 1]
mov byte [esp + 0xd], dl
mov dl, byte [eax + 3]
mov byte [esp + 0xf], dl
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x5c], edx
add eax, 0x80000000
mov dword [esp + 0x6c], eax
fild qword [esp + 0x6c]
fsub qword [0x606610]
fmul qword [esp + 0x2c]
fmul qword [0x6065e8]
fild qword [esp + 0x5c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005e35c0
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x4c]
fadd qword [0x606610]
fcom qword [0x606410]
fnstsw ax
test ah, 0x41
jne 0x473417
fstp st(0)
fld qword [0x606410]
jmp 0x47342c
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x47342c
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
sub eax, 0x80000000
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dl, byte [esp + 0xc]
mov ecx, dword [eax]
mov byte [ecx + edi], dl
mov ecx, dword [eax]
mov dl, byte [esp + 0xd]
mov byte [ecx + edi + 1], dl
mov ecx, dword [eax]
mov dl, byte [esp + 0xe]
mov byte [ecx + edi + 2], dl
mov eax, dword [eax]
mov cl, byte [esp + 0xf]
mov byte [eax + edi + 3], cl
mov edx, dword [esi + 0x9bd0]
push ebx
push ebx
push 0x147
push edx
call dword [0x600bfc]
cmp eax, ebx
jle 0x473586
mov eax, dword [ebp + 8]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x40], ebx
mov ecx, dword [eax]
mov dl, byte [ecx + edi + 4]
lea eax, [ecx + edi]
mov byte [esp + 0xc], dl
mov cl, byte [eax + 5]
mov dl, byte [eax + 6]
mov al, byte [eax + 7]
mov byte [esp + 0xd], cl
mov byte [esp + 0xe], dl
mov byte [esp + 0xf], al
mov ecx, dword [esp + 0xc]
mov edx, dword [0x640780]
add ecx, 0x80000000
mov dword [esp + 0x44], ecx
mov eax, dword [edx + 4]
fild qword [esp + 0x44]
mov dword [esp + 0x3c], eax
fsub qword [0x606610]
fmul qword [esp + 0x2c]
fmul qword [0x6065e8]
fild qword [esp + 0x3c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
call fcn.005e35c0
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ebx
fild qword [esp + 0x24]
fsubr qword [esi + 0x3238]
fst qword [esi + 0x3238]
faddp st(1)
fmul qword [0x6034f0]
fsin
fmul qword [esp + 0x64]
fadd qword [0x606610]
fcom qword [0x606410]
fnstsw ax
test ah, 0x41
jne 0x473538
fstp st(0)
fld qword [0x606410]
jmp 0x47354d
fcom qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x47354d
fstp st(0)
fld qword [0x6018b0]
call fcn.005e35c0
sub eax, 0x80000000
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dl, byte [esp + 0xc]
mov ecx, dword [eax]
mov byte [ecx + edi + 4], dl
mov ecx, dword [eax]
mov dl, byte [esp + 0xd]
mov byte [ecx + edi + 5], dl
mov ecx, dword [eax]
mov dl, byte [esp + 0xe]
mov byte [ecx + edi + 6], dl
mov eax, dword [eax]
mov cl, byte [esp + 0xf]
mov byte [eax + edi + 7], cl
mov eax, dword [0x640780]
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [eax + 0xc]
mov eax, dword [ecx + 4]
add edi, edx
cmp edi, eax
jb 0x473344
lea ecx, [esp + 0x20]
mov dword [esp + 0x80], 0xffffffff
call fcn.005e2954
mov ecx, dword [esp + 0x78]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4