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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5e6ef8
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.005df190
mov eax, dword [esi + 0x9910]
xor ebx, ebx
push ebx
push ebx
push 0x147
push eax
mov dword [esp + 0x90], ebx
call dword [0x5fcbfc]
mov edi, eax
cmp edi, ebx
je case.0x4729f4.12
cmp edi, 1
jne 0x47074a
fld qword [esi + 0x9d80]
fmul qword [0x5fd400]
fstp qword [esp + 0x2c]
jmp 0x47075e
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.005df28c
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.005df334
call fcn.00542e20
fstp qword [esp + 0x70]
add esp, 4
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esi + 0x9af0]
call fcn.005df28c
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.005df334
call fcn.00542e20
fld qword [0x62bbf8]
fmul qword [esp + 0x70]
fld qword [0x6366a0]
fsub qword [0x6367a0]
add esp, 4
cmp edi, 1
fdivp st(1)
fst qword [esp + 0x4c]
fmul qword [0x602410]
fstp qword [esp + 0xc]
fmul qword [0x62bc00]
fld qword [0x6366a8]
fsub qword [0x6367a8]
fdivp st(1)
fld st(0)
fmul qword [0x602410]
fstp qword [esp + 0x14]
fld qword [esp + 0x4c]
fmul qword [0x602408]
fstp qword [esp + 0x3c]
fld st(0)
fmul qword [0x602408]
fstp qword [esp + 0x54]
fld qword [esp + 0x4c]
fmul qword [0x602400]
fstp qword [esp + 0x44]
fld st(0)
fmul qword [0x602400]
fstp qword [esp + 0x5c]
fld qword [esp + 0x4c]
fmul qword [0x6023f8]
fstp qword [esp + 0x4c]
fmul qword [0x6023f8]
fstp qword [esp + 0x64]
jne 0x4716e3
mov ecx, dword [0x63c2f0]
cmp word [ecx + 2], di
jne 0x470d59
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x5fcbfc]
cmp eax, ebx
jle case.0x4729f4.12
mov eax, dword [0x63c2f0]
xor ecx, ecx
mov cx, word [eax + 0xe]
lea edi, [ecx - 8]
cmp edi, 0x18
ja case.0x4729f4.12
xor ecx, ecx
mov cl, byte [edi + 0x473300]
jmp dword [ecx*4 + 0x4732ec]
mov ecx, dword [ebp + 8]
xor edi, edi
cmp dword [ecx + 4], ebx
jbe case.0x4729f4.12
fld qword [esp + 0x2c]
fadd qword [0x5fd8a8]
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.005dfdf0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fsubp st(1)
fst qword [esi + 0x3230]
fmul qword [0x5ff4f0]
fsin
fxch st(1)
fsub qword [0x602580]
fmul qword [esp + 0x2c]
fmul qword [0x602620]
fadd qword [0x5fd8a8]
fdiv st(2)
fmulp st(1)
fmul qword [esp + 0xc]
fadd qword [0x602580]
fcom qword [0x602410]
fnstsw ax
test ah, 0x41
jne 0x47095b
fstp st(0)
fld qword [0x602410]
jmp 0x470970
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x470970
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi], al
mov eax, dword [0x63c2f0]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
jb 0x4708cd
fstp st(0)
jmp case.0x4729f4.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], ebx
cmp dword [ecx + 4], ebx
jbe case.0x4729f4.12
fld qword [esp + 0x2c]
fadd qword [0x5fd8a8]
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.005dfdf0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
fmul qword [0x5ff4f0]
fsin
fxch st(1)
fsub qword [0x602618]
fmul qword [esp + 0x2c]
fmul qword [0x602610]
fadd qword [0x5fd8a8]
fdiv st(2)
fmulp st(1)
fmul qword [esp + 0x3c]
fadd qword [0x602618]
fcom qword [0x602408]
fnstsw ax
test ah, 0x41
jne 0x470a69
fstp st(0)
fld qword [0x602408]
jmp 0x470a7e
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x470a7e
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x4709b6
fstp st(0)
jmp case.0x4729f4.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], ebx
cmp dword [ecx + 4], ebx
jbe case.0x4729f4.12
fld qword [esp + 0x2c]
fadd qword [0x5fd8a8]
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.005dfdf0
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
fmul qword [0x5ff4f0]
fsin
fxch st(1)
fsub qword [0x602608]
fmul qword [esp + 0x2c]
fmul qword [0x602600]
fadd qword [0x5fd8a8]
fdiv st(2)
fmulp st(1)
fmul qword [esp + 0x44]
fadd qword [0x602608]
fcom qword [0x602400]
fnstsw ax
test ah, 0x41
jne 0x470ba6
fstp st(0)
fld qword [0x602400]
jmp 0x470bbb
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x470bbb
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x470ae4
fstp st(0)
jmp case.0x4729f4.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], ebx
cmp dword [ecx + 4], ebx
jbe case.0x4729f4.12
fld qword [esp + 0x2c]
fadd qword [0x5fd8a8]
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.005dfdf0
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x54]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
fmul qword [0x5ff4f0]
fsin
fxch st(1)
fsub qword [0x6025f8]
fmul qword [esp + 0x2c]
fmul qword [0x6025f0]
fadd qword [0x5fd8a8]
fdiv st(2)
fmulp st(1)
fmul qword [esp + 0x4c]
fadd qword [0x6025f8]
fcom qword [0x6023f8]
fnstsw ax
test ah, 0x41
jne 0x470ce5
fstp st(0)
fld qword [0x6023f8]
jmp 0x470cfa
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x470cfa
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x470c26
fstp st(0)
jmp case.0x4729f4.12
xor eax, eax
mov ax, word [ecx + 0xe]
add eax, 0xfffffff8
cmp eax, 0x18
ja case.0x4729f4.12
xor ecx, ecx
mov cl, byte [eax + 0x473330]
jmp dword [ecx*4 + 0x47331c]
mov edx, dword [ebp + 8]
xor edi, edi
cmp dword [edx + 4], ebx
jbe case.0x4729f4.12
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x5fcbfc]
cmp eax, ebx
jle 0x470e69
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x68], ebx
mov edx, dword [ecx]
mov ecx, dword [0x63c2f0]
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.005dfdf0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
fmul qword [0x5ff4f0]
fsin
fxch st(1)
fsub qword [0x602580]
fmul qword [esp + 0x2c]
fmul qword [0x602620]
fadd qword [0x5fd8a8]
fld qword [esp + 0x2c]
fadd qword [0x5fd8a8]
fdivp st(1)
fmulp st(1)
fmul qword [esp + 0xc]
fadd qword [0x602580]
fcom qword [0x602410]
fnstsw ax
test ah, 0x41
jne 0x470e47
fstp st(0)
fld qword [0x602410]
jmp 0x470e5c
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x470e5c
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x5fcbfc]
cmp eax, ebx
jle 0x470f4a
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x58], ebx
mov edx, dword [ecx]
mov ecx, dword [0x63c2f0]
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.005dfdf0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fsubp st(1)
fst qword [esi + 0x3238]
fmul qword [0x5ff4f0]
fsin
fxch st(1)
fsub qword [0x602580]
fmul qword [esp + 0x2c]
fmul qword [0x602620]
fadd qword [0x5fd8a8]
fld qword [esp + 0x2c]
fadd qword [0x5fd8a8]
fdivp st(1)
fmulp st(1)
fmul qword [esp + 0x14]
fadd qword [0x602580]
fcom qword [0x602410]
fnstsw ax
test ah, 0x41
jne 0x470f27
fstp st(0)
fld qword [0x602410]
jmp 0x470f3c
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x470f3c
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi + 1], al
mov ecx, dword [0x63c2f0]
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 0x470d88
jmp case.0x4729f4.12
mov eax, dword [ebp + 8]
xor edi, edi
cmp dword [eax + 4], ebx
jbe case.0x4729f4.12
mov ecx, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push ecx
call dword [0x5fcbfc]
cmp eax, ebx
jle 0x47108b
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 [0x63c2f0]
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.005dfdf0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
fmul qword [0x5ff4f0]
fsin
fxch st(1)
fsub qword [0x602618]
fmul qword [esp + 0x2c]
fmul qword [0x602610]
fadd qword [0x5fd8a8]
fld qword [esp + 0x2c]
fadd qword [0x5fd8a8]
fdivp st(1)
fmulp st(1)
fmul qword [esp + 0x3c]
fadd qword [0x602618]
fcom qword [0x602408]
fnstsw ax
test ah, 0x41
jne 0x471051
fstp st(0)
fld qword [0x602408]
jmp 0x471066
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x471066
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x5fcbfc]
cmp eax, ebx
jle 0x4711a2
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 [0x63c2f0]
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.005dfdf0
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ebx
fild qword [esp + 0x44]
fsubr qword [esi + 0x3238]
fst qword [esi + 0x3238]
fmul qword [0x5ff4f0]
fsin
fxch st(1)
fsub qword [0x602618]
fmul qword [esp + 0x2c]
fmul qword [0x602610]
fadd qword [0x5fd8a8]
fld qword [esp + 0x2c]
fadd qword [0x5fd8a8]
fdivp st(1)
fmulp st(1)
fmul qword [esp + 0x54]
fadd qword [0x602618]
fcom qword [0x602408]
fnstsw ax
test ah, 0x41
jne 0x471167
fstp st(0)
fld qword [0x602408]
jmp 0x47117c
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x47117c
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x470f79
jmp case.0x4729f4.12
mov edx, dword [ebp + 8]
xor edi, edi
cmp dword [edx + 4], ebx
jbe case.0x4729f4.12
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x5fcbfc]
cmp eax, ebx
jle 0x4712fe
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 [0x63c2f0]
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.005dfdf0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ebx
fild qword [esp + 0x4c]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
fmul qword [0x5ff4f0]
fsin
fxch st(1)
fsub qword [0x602608]
fmul qword [esp + 0x2c]
fmul qword [0x602600]
fadd qword [0x5fd8a8]
fld qword [esp + 0x2c]
fadd qword [0x5fd8a8]
fdivp st(1)
fmulp st(1)
fmul qword [esp + 0x44]
fadd qword [0x602608]
fcom qword [0x602400]
fnstsw ax
test ah, 0x41
jne 0x4712bb
fstp st(0)
fld qword [0x602400]
jmp 0x4712d0
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x4712d0
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x5fcbfc]
cmp eax, ebx
jle 0x47142b
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 [0x63c2f0]
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.005dfdf0
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
fild qword [esp + 0x14]
fsubr qword [esi + 0x3238]
fst qword [esi + 0x3238]
fmul qword [0x5ff4f0]
fsin
fxch st(1)
fsub qword [0x602608]
fmul qword [esp + 0x2c]
fmul qword [0x602600]
fadd qword [0x5fd8a8]
fld qword [esp + 0x2c]
fadd qword [0x5fd8a8]
fdivp st(1)
fmulp st(1)
fmul qword [esp + 0x5c]
fadd qword [0x602608]
fcom qword [0x602400]
fnstsw ax
test ah, 0x41
jne 0x4713e7
fstp st(0)
fld qword [0x602400]
jmp 0x4713fc
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x4713fc
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x4711d0
jmp case.0x4729f4.12
mov edx, dword [ebp + 8]
xor edi, edi
cmp dword [edx + 4], ebx
jbe case.0x4729f4.12
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x5fcbfc]
cmp eax, ebx
jle 0x47158d
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 [0x63c2f0]
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.005dfdf0
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ebx
fild qword [esp + 0x44]
fsubr qword [esi + 0x3230]
fst qword [esi + 0x3230]
fmul qword [0x5ff4f0]
fsin
fxch st(1)
fsub qword [0x6025f8]
fmul qword [esp + 0x2c]
fmul qword [0x6025f0]
fadd qword [0x5fd8a8]
fld qword [esp + 0x2c]
fadd qword [0x5fd8a8]
fdivp st(1)
fmulp st(1)
fmul qword [esp + 0x4c]
fadd qword [0x6025f8]
fcom qword [0x6023f8]
fnstsw ax
test ah, 0x41
jne 0x471540
fstp st(0)
fld qword [0x6023f8]
jmp 0x471555
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x471555
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x5fcbfc]
cmp eax, ebx
jle 0x4716c3
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 [0x63c2f0]
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.005dfdf0
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
fild qword [esp + 0x14]
fsubr qword [esi + 0x3238]
fst qword [esi + 0x3238]
fmul qword [0x5ff4f0]
fsin
fxch st(1)
fsub qword [0x6025f8]
fmul qword [esp + 0x2c]
fmul qword [0x6025f0]
fadd qword [0x5fd8a8]
fld qword [esp + 0x2c]
fadd qword [0x5fd8a8]
fdivp st(1)
fmulp st(1)
fmul qword [esp + 0x64]
fadd qword [0x6025f8]
fcom qword [0x6023f8]
fnstsw ax
test ah, 0x41
jne 0x471675
fstp st(0)
fld qword [0x6023f8]
jmp 0x47168a
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x47168a
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x471459
jmp case.0x4729f4.12
cmp edi, 2
jne 0x472530
mov ecx, dword [0x63c2f0]
cmp word [ecx + 2], 1
jne 0x471ba8
mov edx, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push edx
call dword [0x5fcbfc]
cmp eax, ebx
jle case.0x4729f4.12
mov eax, dword [0x63c2f0]
xor ecx, ecx
mov cx, word [eax + 0xe]
lea edi, [ecx - 8]
cmp edi, 0x18
ja case.0x4729f4.12
xor ecx, ecx
mov cl, byte [edi + 0x473360]
jmp dword [ecx*4 + 0x47334c]
mov ecx, dword [ebp + 8]
xor edi, edi
cmp dword [ecx + 4], ebx
jbe case.0x4729f4.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 [0x602580]
fmul qword [esp + 0x2c]
fmul qword [0x602620]
fild qword [esp + 0x64]
fdivp st(1)
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
mov edx, dword [0x63c2f0]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x63c2f0]
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 [0x5ff4f0]
fsin
fmul qword [esp + 0xc]
fadd qword [0x602580]
fcom qword [0x602410]
fnstsw ax
test ah, 0x41
jne 0x4717e7
fstp st(0)
fld qword [0x602410]
jmp 0x4717fc
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x4717fc
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi], al
mov eax, dword [0x63c2f0]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
jb 0x47174d
jmp case.0x4729f4.12
mov ecx, dword [ebp + 8]
xor edi, edi
cmp dword [ecx + 4], ebx
jbe case.0x4729f4.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 [0x602618]
fmul qword [esp + 0x2c]
fmul qword [0x602610]
fild qword [esp + 0x64]
fdivp st(1)
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
mov edx, dword [0x63c2f0]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x63c2f0]
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x3c]
fadd qword [0x602618]
fcom qword [0x602408]
fnstsw ax
test ah, 0x41
jne 0x4718ec
fstp st(0)
fld qword [0x602408]
jmp 0x471901
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x471901
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
jb 0x471834
jmp case.0x4729f4.12
mov ecx, dword [ebp + 8]
xor edi, edi
cmp dword [ecx + 4], ebx
jbe case.0x4729f4.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 [0x602608]
fmul qword [esp + 0x2c]
fmul qword [0x602600]
fild qword [esp + 0x5c]
fdivp st(1)
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
mov edx, dword [0x63c2f0]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x63c2f0]
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x44]
fadd qword [0x602608]
fcom qword [0x602400]
fnstsw ax
test ah, 0x41
jne 0x471a14
fstp st(0)
fld qword [0x602400]
jmp 0x471a29
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x471a29
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
jb 0x47194d
jmp case.0x4729f4.12
mov ecx, dword [ebp + 8]
xor edi, edi
cmp dword [ecx + 4], ebx
jbe case.0x4729f4.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 [0x6025f8]
fmul qword [esp + 0x2c]
fmul qword [0x6025f0]
fild qword [esp + 0x5c]
fdivp st(1)
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
mov edx, dword [0x63c2f0]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x63c2f0]
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x4c]
fadd qword [0x6025f8]
fcom qword [0x6023f8]
fnstsw ax
test ah, 0x41
jne 0x471b42
fstp st(0)
fld qword [0x6023f8]
jmp 0x471b57
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x471b57
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
jb 0x471a7e
jmp case.0x4729f4.12
xor eax, eax
mov ax, word [ecx + 0xe]
add eax, 0xfffffff8
cmp eax, 0x18
ja case.0x4729f4.12
xor ecx, ecx
mov cl, byte [eax + 0x473390]
jmp dword [ecx*4 + 0x47337c]
mov edx, dword [ebp + 8]
xor edi, edi
cmp dword [edx + 4], ebx
jbe case.0x4729f4.12
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x5fcbfc]
cmp eax, ebx
jle 0x471cb8
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 [0x63c2f0]
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 [0x602580]
fmul qword [esp + 0x2c]
fmul qword [0x602620]
fild qword [esp + 0x64]
fdivp st(1)
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
mov edx, dword [0x63c2f0]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x63c2f0]
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 [0x5ff4f0]
fsin
fmul qword [esp + 0xc]
fadd qword [0x602580]
fcom qword [0x602410]
fnstsw ax
test ah, 0x41
jne 0x471c96
fstp st(0)
fld qword [0x602410]
jmp 0x471cab
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x471cab
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x5fcbfc]
cmp eax, ebx
jle 0x471d9a
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 [0x63c2f0]
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 [0x602580]
fmul qword [esp + 0x2c]
fmul qword [0x602620]
fild qword [esp + 0x54]
fdivp st(1)
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
mov edx, dword [0x63c2f0]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x63c2f0]
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x14]
fadd qword [0x602580]
fcom qword [0x602410]
fnstsw ax
test ah, 0x41
jne 0x471d77
fstp st(0)
fld qword [0x602410]
jmp 0x471d8c
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x471d8c
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
mov byte [ecx + edi + 1], al
mov eax, dword [0x63c2f0]
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 0x471bd7
jmp case.0x4729f4.12
mov edx, dword [ebp + 8]
xor edi, edi
cmp dword [edx + 4], ebx
jbe case.0x4729f4.12
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x5fcbfc]
cmp eax, ebx
jle 0x471edc
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 [0x63c2f0]
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 [0x602618]
fmul qword [esp + 0x2c]
fmul qword [0x602610]
fild qword [esp + 0x64]
fdivp st(1)
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
mov edx, dword [0x63c2f0]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x63c2f0]
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x3c]
fadd qword [0x602618]
fcom qword [0x602408]
fnstsw ax
test ah, 0x41
jne 0x471ea2
fstp st(0)
fld qword [0x602408]
jmp 0x471eb7
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x471eb7
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x5fcbfc]
cmp eax, ebx
jle 0x471ff0
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 [0x63c2f0]
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 [0x602618]
fmul qword [esp + 0x2c]
fmul qword [0x602610]
fild qword [esp + 0x4c]
fdivp st(1)
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
mov edx, dword [0x63c2f0]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x63c2f0]
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x54]
fadd qword [0x602618]
fcom qword [0x602408]
fnstsw ax
test ah, 0x41
jne 0x471fb5
fstp st(0)
fld qword [0x602408]
jmp 0x471fca
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x471fca
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x471dc8
jmp case.0x4729f4.12
mov ecx, dword [ebp + 8]
xor edi, edi
cmp dword [ecx + 4], ebx
jbe case.0x4729f4.12
mov edx, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push edx
call dword [0x5fcbfc]
cmp eax, ebx
jle 0x47214a
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 [0x63c2f0]
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 [0x602608]
fmul qword [esp + 0x2c]
fmul qword [0x602600]
fild qword [esp + 0x54]
fdivp st(1)
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
mov edx, dword [0x63c2f0]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x63c2f0]
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x44]
fadd qword [0x602608]
fcom qword [0x602400]
fnstsw ax
test ah, 0x41
jne 0x472107
fstp st(0)
fld qword [0x602400]
jmp 0x47211c
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x47211c
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x5fcbfc]
cmp eax, ebx
jle 0x472278
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 [0x63c2f0]
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 [0x602608]
fmul qword [esp + 0x2c]
fmul qword [0x602600]
fild qword [esp + 0x14]
fdivp st(1)
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
mov edx, dword [0x63c2f0]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x63c2f0]
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x5c]
fadd qword [0x602608]
fcom qword [0x602400]
fnstsw ax
test ah, 0x41
jne 0x472234
fstp st(0)
fld qword [0x602400]
jmp 0x472249
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x472249
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x47201f
jmp case.0x4729f4.12
mov ecx, dword [ebp + 8]
xor edi, edi
cmp dword [ecx + 4], ebx
jbe case.0x4729f4.12
mov edx, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push edx
call dword [0x5fcbfc]
cmp eax, ebx
jle 0x4723db
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 [0x63c2f0]
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 [0x6025f8]
fmul qword [esp + 0x2c]
fmul qword [0x6025f0]
fild qword [esp + 0x5c]
fdivp st(1)
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
mov edx, dword [0x63c2f0]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x63c2f0]
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x4c]
fadd qword [0x6025f8]
fcom qword [0x6023f8]
fnstsw ax
test ah, 0x41
jne 0x47238e
fstp st(0)
fld qword [0x6023f8]
jmp 0x4723a3
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x4723a3
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x5fcbfc]
cmp eax, ebx
jle 0x47250f
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 [0x63c2f0]
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 [0x6025f8]
fmul qword [esp + 0x2c]
fmul qword [0x6025f0]
fild qword [esp + 0x3c]
fdivp st(1)
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
mov edx, dword [0x63c2f0]
mov cx, word [edx + 0xc]
cdq
idiv ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x63c2f0]
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x64]
fadd qword [0x6025f8]
fcom qword [0x6023f8]
fnstsw ax
test ah, 0x41
jne 0x4724c1
fstp st(0)
fld qword [0x6023f8]
jmp 0x4724d6
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x4724d6
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x4722a7
jmp case.0x4729f4.12
cmp edi, 3
jne case.0x4729f4.12
mov ecx, dword [0x63c2f0]
cmp word [ecx + 2], 1
jne 0x4729da
mov ecx, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push ecx
call dword [0x5fcbfc]
cmp eax, ebx
jle case.0x4729f4.12
mov eax, dword [0x63c2f0]
xor ecx, ecx
mov cx, word [eax + 0xe]
lea edi, [ecx - 8]
cmp edi, 0x18
ja case.0x4729f4.12
xor edx, edx
mov dl, byte [edi + 0x4733c0]
jmp dword [edx*4 + 0x4733ac]
mov ecx, dword [ebp + 8]
xor edi, edi
cmp dword [ecx + 4], ebx
jbe case.0x4729f4.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 [0x602580]
fmul qword [esp + 0x2c]
fmul qword [0x6025e8]
fild qword [esp + 0x6c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005dfdf0
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 [0x5ff4f0]
fsin
fmul qword [esp + 0xc]
fadd qword [0x602580]
fcom qword [0x602410]
fnstsw ax
test ah, 0x41
jne 0x472620
fstp st(0)
fld qword [0x602410]
jmp 0x472635
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x472635
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi], al
mov eax, dword [0x63c2f0]
xor edx, edx
mov dx, word [eax + 0xc]
add edi, edx
mov edx, dword [ecx + 4]
cmp edi, edx
jb 0x47259a
jmp case.0x4729f4.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], ebx
cmp dword [ecx + 4], ebx
jbe case.0x4729f4.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 [0x602618]
fmul qword [esp + 0x2c]
fmul qword [0x6025e0]
fild qword [esp + 0x6c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005dfdf0
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x3c]
fadd qword [0x602618]
fcom qword [0x602408]
fnstsw ax
test ah, 0x41
jne 0x472718
fstp st(0)
fld qword [0x602408]
jmp 0x47272d
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x47272d
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x47266f
jmp case.0x4729f4.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], ebx
cmp dword [ecx + 4], ebx
jbe case.0x4729f4.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 [0x602608]
fmul qword [esp + 0x2c]
fmul qword [0x6025d8]
fild qword [esp + 0x64]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005dfdf0
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x44]
fadd qword [0x602608]
fcom qword [0x602400]
fnstsw ax
test ah, 0x41
jne 0x47283f
fstp st(0)
fld qword [0x602400]
jmp 0x472854
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x472854
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x472787
jmp case.0x4729f4.12
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], ebx
cmp dword [ecx + 4], ebx
jbe case.0x4729f4.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 [0x6025f8]
fmul qword [esp + 0x2c]
fmul qword [0x6025d0]
fild qword [esp + 0x64]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005dfdf0
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x4c]
fadd qword [0x6025f8]
fcom qword [0x6023f8]
fnstsw ax
test ah, 0x41
jne 0x472968
fstp st(0)
fld qword [0x6023f8]
jmp 0x47297d
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x47297d
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x4728b3
jmp case.0x4729f4.12
xor eax, eax
mov ax, word [ecx + 0xe]
add eax, 0xfffffff8
cmp eax, 0x18
ja case.0x4729f4.12
xor ecx, ecx
mov cl, byte [eax + 0x4733f0]
jmp dword [ecx*4 + 0x4733dc]
mov edx, dword [ebp + 8]
xor edi, edi
cmp dword [edx + 4], ebx
jbe case.0x4729f4.12
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x5fcbfc]
cmp eax, ebx
jle 0x472ad6
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x70], ebx
mov edx, dword [ecx]
mov ecx, dword [0x63c2f0]
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 [0x602580]
fmul qword [esp + 0x2c]
fmul qword [0x6025e8]
fild qword [esp + 0x6c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005dfdf0
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 [0x5ff4f0]
fsin
fmul qword [esp + 0xc]
fadd qword [0x602580]
fcom qword [0x602410]
fnstsw ax
test ah, 0x41
jne 0x472ab4
fstp st(0)
fld qword [0x602410]
jmp 0x472ac9
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x472ac9
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x5fcbfc]
cmp eax, ebx
jle 0x472ba5
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x60], ebx
mov edx, dword [ecx]
mov ecx, dword [0x63c2f0]
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 [0x602580]
fmul qword [esp + 0x2c]
fmul qword [0x6025e8]
fild qword [esp + 0x5c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
call fcn.005dfdf0
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x14]
fadd qword [0x602580]
fcom qword [0x602410]
fnstsw ax
test ah, 0x41
jne 0x472b82
fstp st(0)
fld qword [0x602410]
jmp 0x472b97
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x472b97
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + edi + 1], al
mov ecx, dword [0x63c2f0]
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 0x472a09
jmp case.0x4729f4.12
mov eax, dword [ebp + 8]
xor edi, edi
cmp dword [eax + 4], ebx
jbe case.0x4729f4.12
mov ecx, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push ecx
call dword [0x5fcbfc]
cmp eax, ebx
jle 0x472cd2
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 [0x63c2f0]
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 [0x602618]
fmul qword [esp + 0x2c]
fmul qword [0x6025e0]
fild qword [esp + 0x6c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005dfdf0
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x3c]
fadd qword [0x602618]
fcom qword [0x602408]
fnstsw ax
test ah, 0x41
jne 0x472c98
fstp st(0)
fld qword [0x602408]
jmp 0x472cad
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x472cad
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x5fcbfc]
cmp eax, ebx
jle 0x472dd5
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 [0x63c2f0]
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 [0x602618]
fmul qword [esp + 0x2c]
fmul qword [0x6025e0]
fild qword [esp + 0x5c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
call fcn.005dfdf0
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x54]
fadd qword [0x602618]
fcom qword [0x602408]
fnstsw ax
test ah, 0x41
jne 0x472d9a
fstp st(0)
fld qword [0x602408]
jmp 0x472daf
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x472daf
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x472bd4
jmp case.0x4729f4.12
mov edx, dword [ebp + 8]
xor edi, edi
cmp dword [edx + 4], ebx
jbe case.0x4729f4.12
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x5fcbfc]
cmp eax, ebx
jle 0x472f1d
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 [0x63c2f0]
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 [0x602608]
fmul qword [esp + 0x2c]
fmul qword [0x6025d8]
fild qword [esp + 0x64]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005dfdf0
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x44]
fadd qword [0x602608]
fcom qword [0x602400]
fnstsw ax
test ah, 0x41
jne 0x472eda
fstp st(0)
fld qword [0x602400]
jmp 0x472eef
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x472eef
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x5fcbfc]
cmp eax, ebx
jle 0x473036
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 [0x63c2f0]
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 [0x602608]
fmul qword [esp + 0x2c]
fmul qword [0x6025d8]
fild qword [esp + 0x3c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
call fcn.005dfdf0
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x5c]
fadd qword [0x602608]
fcom qword [0x602400]
fnstsw ax
test ah, 0x41
jne 0x472ff2
fstp st(0)
fld qword [0x602400]
jmp 0x473007
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x473007
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x472e03
jmp case.0x4729f4.12
mov edx, dword [ebp + 8]
xor edi, edi
cmp dword [edx + 4], ebx
jbe case.0x4729f4.12
mov eax, dword [esi + 0x9c10]
push ebx
push ebx
push 0x147
push eax
call dword [0x5fcbfc]
cmp eax, ebx
jle 0x473184
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 [0x63c2f0]
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 [0x6025f8]
fmul qword [esp + 0x2c]
fmul qword [0x6025d0]
fild qword [esp + 0x5c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3230]
fst qword [esi + 0x3230]
call fcn.005dfdf0
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x4c]
fadd qword [0x6025f8]
fcom qword [0x6023f8]
fnstsw ax
test ah, 0x41
jne 0x473137
fstp st(0)
fld qword [0x6023f8]
jmp 0x47314c
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x47314c
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x5fcbfc]
cmp eax, ebx
jle 0x4732a6
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 [0x63c2f0]
add ecx, 0x80000000
mov dword [esp + 0x44], ecx
mov eax, dword [edx + 4]
fild qword [esp + 0x44]
mov dword [esp + 0x3c], eax
fsub qword [0x6025f8]
fmul qword [esp + 0x2c]
fmul qword [0x6025d0]
fild qword [esp + 0x3c]
fdivr qword [esp + 0x34]
fadd qword [esi + 0x3238]
fst qword [esi + 0x3238]
call fcn.005dfdf0
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 [0x5ff4f0]
fsin
fmul qword [esp + 0x64]
fadd qword [0x6025f8]
fcom qword [0x6023f8]
fnstsw ax
test ah, 0x41
jne 0x473258
fstp st(0)
fld qword [0x6023f8]
jmp 0x47326d
fcom qword [0x5fd8b0]
fnstsw ax
test ah, 1
je 0x47326d
fstp st(0)
fld qword [0x5fd8b0]
call fcn.005dfdf0
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 [0x63c2f0]
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 0x473064
lea ecx, [esp + 0x20]
mov dword [esp + 0x80], 0xffffffff
call fcn.005df184
mov ecx, dword [esp + 0x78]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4