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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 8
push esi
xor esi, esi
cmp eax, esi
jne 0x536a4f
push 0x506
call fcn.00530d00
xor eax, eax
pop esi
add esp, 8
ret
mov ecx, dword [esp + 0x18]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
fild qword [esp + 4]
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov edx, dword [esp + 0x1c]
push edi
fidiv dword [esp + 8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
fstp qword [0x7dc7e8]
fild qword [esp + 8]
mov edi, dword [eax + 4]
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov esi, dword [0x5cfe18]
fidiv dword [esp + 8]
cmp esi, 0x2601
pop edi
fstp qword [0x7dc7d8]
jne 0x536abd
pop esi
add esp, 8
jmp 0x536ae0
cmp esi, 0x2602
pop esi
jne 0x536ace
add esp, 8
jmp 0x536ee0
add esp, 8
jmp 0x537550
sub esp, 0x10
xor ecx, ecx
xor edx, edx
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov cl, byte [edi + 0xd]
mov eax, dword [edi + 0x10]
div ecx
xor ecx, ecx
xor edx, edx
mov dword [0x7dc780], eax
mov cl, byte [esi + 0xd]
mov eax, dword [esi + 0x10]
div ecx
mov dword [0x7dc810], eax
xor eax, eax
mov al, byte [edi + 0xd]
dec eax
je 0x536da8
dec eax
je 0x536c68
sub eax, 2
jne 0x536ec8
mov edx, dword [edi + 0x14]
xor ebx, ebx
mov dword [0x7dc7a4], edx
mov eax, dword [esi + 0x14]
mov dword [0x7dc7c0], eax
mov eax, dword [esp + 0x30]
xor edi, edi
cmp eax, ebx
mov dword [0x7dc794], edi
jbe 0x536ec8
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebx
fild qword [esp + 0x10]
mov eax, edi
imul eax, dword [0x7dc810]
fdiv qword [0x7dc7d8]
mov dword [0x7dc800], eax
call fcn.00509960
imul eax, dword [0x7dc780]
mov dword [0x7dc804], eax
mov eax, dword [esp + 0x2c]
xor ebp, ebp
cmp eax, ebx
mov dword [0x7dc790], ebp
jbe 0x536c4b
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebx
fild qword [esp + 0x18]
xor ecx, ecx
mov cl, byte [esi + 0xc]
fdiv qword [0x7dc7e8]
mov edi, ecx
imul edi, ebp
mov dword [0x7dc7f8], edi
call fcn.00509960
mov ecx, dword [esp + 0x24]
xor edx, edx
mov dl, byte [ecx + 0xc]
xor ecx, ecx
imul eax, edx
mov dword [0x7dc7fc], eax
mov dword [0x7dc820], ecx
cmp byte [esi + 0xc], bl
jbe 0x536c32
jmp 0x536beb
mov edi, dword [0x7dc7f8]
mov eax, dword [0x7dc7fc]
mov ebp, dword [0x7dc804]
lea edx, [ecx + eax]
mov eax, dword [0x7dc7a4]
add edx, ebp
add ecx, edi
mov edi, dword [0x7dc800]
mov edx, dword [eax + edx*4]
mov eax, dword [0x7dc7c0]
add ecx, edi
mov dword [eax + ecx*4], edx
mov ecx, dword [0x7dc820]
inc ecx
xor edx, edx
mov dword [0x7dc7d0], ebx
mov dword [0x7dc820], ecx
mov dl, byte [esi + 0xc]
cmp ecx, edx
jb 0x536be0
mov ebp, dword [0x7dc790]
mov eax, dword [esp + 0x2c]
inc ebp
cmp ebp, eax
mov dword [0x7dc790], ebp
jb 0x536b99
mov edi, dword [0x7dc794]
mov eax, dword [esp + 0x30]
inc edi
cmp edi, eax
mov dword [0x7dc794], edi
jb 0x536b54
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov eax, dword [edi + 0x14]
xor ebx, ebx
mov dword [0x7dc81c], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esi + 0x14]
xor edi, edi
cmp eax, ebx
mov dword [0x7dc7a0], ecx
mov dword [0x7dc794], edi
jbe 0x536ec8
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
fild qword [esp + 0x18]
mov eax, edi
imul eax, dword [0x7dc810]
fdiv qword [0x7dc7d8]
mov dword [0x7dc800], eax
call fcn.00509960
imul eax, dword [0x7dc780]
mov dword [0x7dc804], eax
mov eax, dword [esp + 0x2c]
xor ebp, ebp
cmp eax, ebx
mov dword [0x7dc790], ebp
jbe 0x536d8b
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
fild qword [esp + 0x10]
xor edx, edx
mov dl, byte [esi + 0xc]
fdiv qword [0x7dc7e8]
mov edi, edx
imul edi, ebp
mov dword [0x7dc7f8], edi
call fcn.00509960
mov edx, dword [esp + 0x24]
xor ecx, ecx
mov cl, byte [edx + 0xc]
imul eax, ecx
xor ecx, ecx
mov dword [0x7dc7fc], eax
mov dword [0x7dc820], ecx
mov dl, byte [esi + 0xc]
cmp dl, bl
jbe 0x536d72
jmp 0x536d28
mov edi, dword [0x7dc7f8]
mov eax, dword [0x7dc7fc]
mov edx, dword [0x7dc804]
mov ebp, dword [0x7dc800]
add eax, ecx
add ecx, edi
add eax, edx
mov edx, dword [0x7dc81c]
add ecx, ebp
mov ax, word [edx + eax*2]
mov edx, dword [0x7dc7a0]
mov word [edx + ecx*2], ax
mov ecx, dword [0x7dc820]
inc ecx
xor eax, eax
mov dword [0x7dc7d0], ebx
mov dword [0x7dc820], ecx
mov al, byte [esi + 0xc]
cmp ecx, eax
jb 0x536d1d
mov ebp, dword [0x7dc790]
mov eax, dword [esp + 0x2c]
inc ebp
cmp ebp, eax
mov dword [0x7dc790], ebp
jb 0x536cd4
mov edi, dword [0x7dc794]
mov eax, dword [esp + 0x30]
inc edi
cmp edi, eax
mov dword [0x7dc794], edi
jb 0x536c8f
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov eax, dword [esp + 0x30]
xor ebx, ebx
xor edi, edi
cmp eax, ebx
mov dword [0x7dc794], edi
jbe 0x536ec8
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
fild qword [esp + 0x18]
mov eax, edi
imul eax, dword [0x7dc810]
fdiv qword [0x7dc7d8]
mov dword [0x7dc800], eax
call fcn.00509960
imul eax, dword [0x7dc780]
mov dword [0x7dc804], eax
mov eax, dword [esp + 0x2c]
xor ebp, ebp
cmp eax, ebx
mov dword [0x7dc790], ebp
jbe 0x536eb5
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
fild qword [esp + 0x10]
xor ecx, ecx
mov cl, byte [esi + 0xc]
fdiv qword [0x7dc7e8]
mov edi, ecx
imul edi, ebp
mov dword [0x7dc7f8], edi
call fcn.00509960
mov ecx, dword [esp + 0x24]
xor edx, edx
mov dl, byte [ecx + 0xc]
xor ecx, ecx
imul eax, edx
mov dword [0x7dc7fc], eax
mov dword [0x7dc820], ecx
cmp byte [esi + 0xc], bl
jbe 0x536e9c
jmp 0x536e55
mov edi, dword [0x7dc7f8]
mov eax, dword [0x7dc7fc]
mov ebp, dword [0x7dc804]
lea edx, [ecx + eax]
mov eax, dword [esp + 0x24]
add edx, ebp
mov ebp, dword [esi + 0x14]
mov eax, dword [eax + 0x14]
add ebp, ecx
add ebp, edi
mov cl, byte [edx + eax]
mov edx, dword [0x7dc800]
xor eax, eax
mov byte [edx + ebp], cl
mov ecx, dword [0x7dc820]
inc ecx
mov dword [0x7dc7d0], ebx
mov dword [0x7dc820], ecx
mov al, byte [esi + 0xc]
cmp ecx, eax
jb 0x536e4a
mov ebp, dword [0x7dc790]
mov eax, dword [esp + 0x2c]
inc ebp
cmp ebp, eax
mov dword [0x7dc790], ebp
jb 0x536e03
mov edi, dword [0x7dc794]
mov eax, dword [esp + 0x30]
inc edi
cmp edi, eax
mov dword [0x7dc794], edi
jb 0x536dbe
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
sub esp, 0x30
xor ecx, ecx
xor edx, edx
push ebx
mov ebx, dword [esp + 0x38]
push ebp
push esi
mov cl, byte [ebx + 0xd]
mov eax, dword [ebx + 0x10]
div ecx
mov esi, dword [esp + 0x44]
xor ecx, ecx
xor edx, edx
push edi
mov dword [0x7dc780], eax
mov cl, byte [esi + 0xd]
mov eax, dword [esi + 0x10]
div ecx
mov dword [0x7dc810], eax
xor eax, eax
mov al, byte [ebx + 0xd]
dec eax
je 0x537349
dec eax
je 0x537133
sub eax, 2
jne 0x537544
mov edx, dword [ebx + 0x14]
xor ebp, ebp
mov dword [0x7dc7a4], edx
mov eax, dword [esi + 0x14]
mov dword [0x7dc7c0], eax
mov eax, dword [esp + 0x50]
cmp eax, ebp
mov dword [0x7dc794], ebp
jbe 0x537544
mov ecx, dword [0x7dc794]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ecx
fild qword [esp + 0x10]
fdiv qword [0x7dc7d8]
call fcn.00509960
imul eax, dword [0x7dc780]
mov dword [0x7dc800], eax
mov eax, dword [esp + 0x4c]
xor edi, edi
cmp eax, ebp
mov dword [0x7dc790], edi
jbe 0x537112
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebp
fild qword [esp + 0x18]
jmp 0x536fa3
mov edi, dword [0x7dc790]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebp
fild qword [esp + 0x20]
fdiv st(1)
fst qword [0x7dc7a8]
fmul st(1)
fst qword [0x7dc7b8]
call fcn.00509960
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ebp
fild qword [esp + 0x28]
fsubr qword [0x7dc7b8]
fstp qword [0x7dc7b0]
fld qword [0x5cfe98]
fmul qword [0x7dc7b0]
fst qword [0x7dc7c8]
fcos
fsubr qword [0x5a8418]
fmul qword [0x5a8460]
fstp qword [0x7dc788]
fld qword [0x7dc7b8]
fdiv qword [0x7dc7e8]
call fcn.00509960
xor ecx, ecx
xor edx, edx
mov cl, byte [ebx + 0xc]
imul ecx, eax
mov dword [0x7dc7f8], ecx
mov dl, byte [ebx + 0xc]
inc eax
imul eax, edx
xor edx, edx
mov dword [0x7dc7fc], eax
mov dl, byte [esi + 0xc]
mov ebp, edx
mov edx, dword [0x7dc794]
imul edx, dword [0x7dc810]
imul ebp, edi
add ebp, edx
xor edi, edi
mov dword [0x7dc814], ebp
mov dword [0x7dc820], edi
mov dl, byte [esi + 0xc]
test dl, dl
jbe 0x5370f7
jmp 0x537074
mov ecx, dword [0x7dc7f8]
mov eax, dword [0x7dc7fc]
mov ebp, dword [0x7dc814]
mov edx, dword [0x7dc800]
add ecx, edi
add ecx, edx
mov edx, dword [0x7dc7a4]
fld qword [0x5a8418]
mov ecx, dword [edx + ecx*4]
add eax, edi
add eax, dword [0x7dc800]
mov dword [0x7dc7d0], ecx
fsub qword [0x7dc788]
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov eax, dword [edx + eax*4]
mov dword [esp + 0x34], ecx
fild qword [esp + 0x30]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
fmulp st(1)
fild qword [esp + 0x38]
mov dword [0x7dc7e0], eax
fmul qword [0x7dc788]
faddp st(1)
call fcn.00509960
mov ecx, dword [0x7dc7c0]
add edi, ebp
xor edx, edx
mov dword [ecx + edi*4], eax
mov edi, dword [0x7dc820]
inc edi
mov dword [0x7dc820], edi
mov dl, byte [esi + 0xc]
cmp edi, edx
jb 0x537063
mov eax, dword [0x7dc790]
mov ecx, dword [esp + 0x4c]
inc eax
xor ebp, ebp
cmp eax, ecx
mov dword [0x7dc790], eax
jb 0x536f9d
fstp st(0)
mov eax, dword [0x7dc794]
mov ecx, dword [esp + 0x50]
inc eax
cmp eax, ecx
mov dword [0x7dc794], eax
jb 0x536f52
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, dword [ebx + 0x14]
xor ebp, ebp
mov dword [0x7dc81c], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esi + 0x14]
cmp eax, ebp
mov dword [0x7dc7a0], ecx
mov dword [0x7dc794], ebp
jbe 0x537544
mov edx, dword [0x7dc794]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], edx
fild qword [esp + 0x38]
fdiv qword [0x7dc7d8]
call fcn.00509960
imul eax, dword [0x7dc780]
mov dword [0x7dc800], eax
mov eax, dword [esp + 0x4c]
xor edi, edi
cmp eax, ebp
mov dword [0x7dc790], edi
jbe 0x537328
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ebp
fild qword [esp + 0x30]
jmp 0x5371a9
mov edi, dword [0x7dc790]
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ebp
fild qword [esp + 0x28]
fdiv st(1)
fst qword [0x7dc7a8]
fmul st(1)
fst qword [0x7dc7b8]
call fcn.00509960
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebp
fild qword [esp + 0x20]
fsubr qword [0x7dc7b8]
fstp qword [0x7dc7b0]
fld qword [0x5cfe98]
fmul qword [0x7dc7b0]
fst qword [0x7dc7c8]
fcos
fsubr qword [0x5a8418]
fmul qword [0x5a8460]
fstp qword [0x7dc788]
fld qword [0x7dc7b8]
fdiv qword [0x7dc7e8]
call fcn.00509960
xor ecx, ecx
lea edx, [eax + 1]
mov cl, byte [ebx + 0xc]
imul ecx, eax
xor eax, eax
mov dword [0x7dc7f8], ecx
mov al, byte [ebx + 0xc]
imul edx, eax
xor eax, eax
mov dword [0x7dc7fc], edx
mov al, byte [esi + 0xc]
mov ebp, eax
mov eax, dword [0x7dc794]
imul eax, dword [0x7dc810]
imul ebp, edi
add ebp, eax
xor edi, edi
mov dword [0x7dc814], ebp
mov dword [0x7dc820], edi
mov al, byte [esi + 0xc]
test al, al
jbe 0x53730d
jmp 0x53727d
mov ecx, dword [0x7dc7f8]
mov edx, dword [0x7dc7fc]
mov ebp, dword [0x7dc814]
mov ebx, dword [0x7dc800]
add ecx, edi
add ecx, ebx
mov ebx, dword [0x7dc81c]
fld qword [0x5a8418]
xor eax, eax
add edx, edi
mov ax, word [ebx + ecx*2]
mov ecx, dword [0x7dc800]
fsub qword [0x7dc788]
mov dword [0x7dc7d0], eax
mov dword [esp + 0x18], eax
xor eax, eax
add edx, ecx
mov dword [esp + 0x1c], eax
xor ecx, ecx
fild qword [esp + 0x18]
mov cx, word [ebx + edx*2]
mov dword [esp + 0x14], eax
fmulp st(1)
mov dword [esp + 0x10], ecx
mov dword [0x7dc7e0], ecx
fild qword [esp + 0x10]
fmul qword [0x7dc788]
faddp st(1)
call fcn.00509960
mov ecx, dword [0x7dc7a0]
add edi, ebp
xor edx, edx
mov word [ecx + edi*2], ax
mov edi, dword [0x7dc820]
inc edi
mov dword [0x7dc820], edi
mov dl, byte [esi + 0xc]
cmp edi, edx
jb 0x53726b
mov ebx, dword [esp + 0x44]
mov eax, dword [0x7dc790]
mov ecx, dword [esp + 0x4c]
inc eax
xor ebp, ebp
cmp eax, ecx
mov dword [0x7dc790], eax
jb 0x5371a3
fstp st(0)
mov eax, dword [0x7dc794]
mov ecx, dword [esp + 0x50]
inc eax
cmp eax, ecx
mov dword [0x7dc794], eax
jb 0x537158
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, dword [esp + 0x50]
xor ebp, ebp
cmp eax, ebp
mov dword [0x7dc794], ebp
jbe 0x537544
mov eax, dword [0x7dc794]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], eax
fild qword [esp + 0x38]
fdiv qword [0x7dc7d8]
call fcn.00509960
imul eax, dword [0x7dc780]
mov dword [0x7dc800], eax
mov eax, dword [esp + 0x4c]
xor edi, edi
cmp eax, ebp
mov dword [0x7dc790], edi
jbe 0x53752d
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ebp
fild qword [esp + 0x30]
jmp 0x5373ad
mov edi, dword [0x7dc790]
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ebp
fild qword [esp + 0x28]
fdiv st(1)
fst qword [0x7dc7a8]
fmul st(1)
fst qword [0x7dc7b8]
call fcn.00509960
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebp
fild qword [esp + 0x20]
fsubr qword [0x7dc7b8]
fstp qword [0x7dc7b0]
fld qword [0x5cfe98]
fmul qword [0x7dc7b0]
fst qword [0x7dc7c8]
fcos
fsubr qword [0x5a8418]
fmul qword [0x5a8460]
fstp qword [0x7dc788]
fld qword [0x7dc7b8]
fdiv qword [0x7dc7e8]
call fcn.00509960
xor ecx, ecx
xor edx, edx
mov cl, byte [ebx + 0xc]
lea ebp, [eax + 1]
imul ecx, eax
mov dword [0x7dc7f8], ecx
mov dl, byte [ebx + 0xc]
imul ebp, edx
mov edx, dword [0x7dc794]
xor eax, eax
imul edx, dword [0x7dc810]
mov dword [0x7dc7fc], ebp
mov al, byte [esi + 0xc]
mov ebp, eax
imul ebp, edi
add ebp, edx
xor edi, edi
mov dword [0x7dc814], ebp
mov dword [0x7dc820], edi
mov al, byte [esi + 0xc]
test al, al
jbe 0x537512
jmp 0x53747c
mov ecx, dword [0x7dc7f8]
mov ebp, dword [0x7dc814]
mov edx, dword [0x7dc800]
lea eax, [edi + ecx]
mov ecx, dword [ebx + 0x14]
add eax, edx
xor edx, edx
mov dl, byte [eax + ecx]
mov ecx, dword [0x7dc7fc]
fld qword [0x5a8418]
fsub qword [0x7dc788]
mov eax, edx
lea edx, [edi + ecx]
mov ecx, dword [0x7dc800]
mov dword [0x7dc7d0], eax
mov dword [esp + 0x18], eax
add edx, ecx
mov ecx, dword [ebx + 0x14]
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x1c], eax
mov bl, byte [edx + ecx]
mov dword [esp + 0x14], eax
fild qword [esp + 0x18]
mov ecx, ebx
fmulp st(1)
mov dword [esp + 0x10], ecx
mov dword [0x7dc7e0], ecx
fild qword [esp + 0x10]
fmul qword [0x7dc788]
faddp st(1)
call fcn.00509960
mov edx, dword [esi + 0x14]
mov ebx, dword [esp + 0x44]
add edx, edi
mov byte [edx + ebp], al
mov edi, dword [0x7dc820]
inc edi
xor eax, eax
mov dword [0x7dc820], edi
mov al, byte [esi + 0xc]
cmp edi, eax
jb 0x537470
mov eax, dword [0x7dc790]
mov ecx, dword [esp + 0x4c]
inc eax
xor ebp, ebp
cmp eax, ecx
mov dword [0x7dc790], eax
jb 0x5373a7
fstp st(0)
mov eax, dword [0x7dc794]
mov ecx, dword [esp + 0x50]
inc eax
cmp eax, ecx
mov dword [0x7dc794], eax
jb 0x53735d
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
sub esp, 0x5c
xor ecx, ecx
xor edx, edx
push ebx
push ebp
mov ebp, dword [esp + 0x68]
push esi
mov esi, dword [esp + 0x70]
push edi
mov cl, byte [ebp + 0xd]
mov eax, dword [ebp + 0x10]
div ecx
xor ecx, ecx
xor edx, edx
mov dword [0x7dc780], eax
mov cl, byte [esi + 0xd]
mov eax, dword [esi + 0x10]
div ecx
mov dword [0x7dc810], eax
xor eax, eax
mov al, byte [ebp + 0xd]
dec eax
je 0x537f31
dec eax
je 0x537a68
sub eax, 2
jne 0x5383c9
mov edi, dword [ebp + 0x14]
mov eax, dword [esp + 0x7c]
mov dword [0x7dc7a4], edi
mov edx, dword [esi + 0x14]
dec eax
mov ebx, 0
mov dword [0x7dc7c0], edx
mov dword [esp + 0x7c], eax
mov dword [0x7dc794], ebx
je 0x5378a1
fld qword [0x5a8418]
fdiv qword [0x7dc7d8]
mov ebp, dword [0x7dc794]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], ebp
fild qword [esp + 0x14]
fmul st(1)
call fcn.00509960
mov ebx, dword [0x7dc780]
imul eax, ebx
inc ebp
mov dword [0x7dc800], eax
mov dword [esp + 0x1c], ebp
xor ebp, ebp
mov dword [esp + 0x20], ebp
fild qword [esp + 0x1c]
fmul st(1)
call fcn.00509960
imul eax, ebx
fstp st(0)
mov dword [0x7dc804], eax
mov eax, dword [esp + 0x78]
cmp eax, ebp
mov dword [0x7dc790], ebp
jbe 0x537884
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x24], eax
xor eax, eax
inc ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
fild qword [esp + 0x24]
mov dword [esp + 0x30], eax
fild qword [esp + 0x2c]
fld st(1)
fdiv qword [0x7dc7e8]
mov edx, dword [0x7dc790]
xor ebp, ebp
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ebp
fstp qword [0x7dc730]
fild qword [esp + 0x34]
fdiv st(2)
fstp qword [0x7dc7a8]
fld st(1)
fmul qword [0x7dc7a8]
fld st(0)
call fcn.00509960
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebp
fild qword [esp + 0x3c]
mov eax, dword [esp + 0x70]
xor ebx, ebx
fsubr st(1)
fstp qword [0x7dc7b0]
fstp st(0)
fld qword [0x5a8418]
fsub qword [0x7dc7b0]
fstp qword [0x7dc738]
fld qword [0x7dc7a8]
fmul qword [0x7dc730]
fstp qword [0x7dc7b8]
fld qword [0x7dc7b8]
mov bl, byte [eax + 0xc]
call fcn.00509960
imul ebx, eax
fld qword [0x7dc7b8]
fadd qword [0x5a8418]
mov dword [0x7dc7f8], ebx
call fcn.00509960
mov edx, dword [esp + 0x70]
xor ecx, ecx
mov cl, byte [edx + 0xc]
imul eax, ecx
xor ecx, ecx
mov dword [0x7dc7fc], eax
mov dword [0x7dc820], ecx
mov dl, byte [esi + 0xc]
test dl, dl
jbe 0x5377c4
mov edx, dword [0x7dc800]
add edx, ebx
mov dword [esp + 0x10], edx
mov edx, dword [0x7dc800]
add edx, eax
mov dword [esp + 0x74], edx
mov edx, dword [0x7dc804]
add ebx, edx
add eax, edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x48], ebp
add edx, ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x60], ebp
mov edx, dword [edi + edx*4]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x10]
fild qword [esp + 0x44]
add edx, ecx
mov edx, dword [edi + edx*4]
fmul qword [0x7dc7b0]
mov dword [esp + 0x4c], edx
lea edx, [eax + ecx]
fild qword [esp + 0x4c]
fmul qword [0x7dc738]
faddp st(1)
fstp qword [ecx*8 + 0x7dc740]
mov edx, dword [edi + edx*4]
mov dword [esp + 0x54], edx
lea edx, [ebx + ecx]
fild qword [esp + 0x54]
mov edx, dword [edi + edx*4]
inc ecx
mov dword [esp + 0x5c], edx
xor edx, edx
fmul qword [0x7dc7b0]
fild qword [esp + 0x5c]
mov dword [0x7dc820], ecx
fmul qword [0x7dc738]
faddp st(1)
fstp qword [ecx*8 + 0x7dc758]
mov dl, byte [esi + 0xc]
cmp ecx, edx
jb 0x537738
mov eax, dword [0x7dc794]
xor ebp, ebp
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebp
fild qword [esp + 0x64]
imul eax, dword [0x7dc810]
fdiv st(1)
xor ebx, ebx
fstp qword [0x7dc7a8]
fld qword [0x5a8418]
fsub qword [0x7dc7a8]
fstp qword [0x7dc738]
mov bl, byte [esi + 0xc]
mov dword [0x7dc820], ebp
imul ebx, dword [0x7dc790]
add ebx, eax
mov dword [0x7dc814], ebx
mov al, byte [esi + 0xc]
test al, al
jbe 0x537869
jmp 0x537821
mov ebx, dword [0x7dc814]
fld qword [0x7dc738]
fmul qword [ebp*8 + 0x7dc740]
fld qword [0x7dc7a8]
fmul qword [ebp*8 + 0x7dc760]
faddp st(1)
call fcn.00509960
mov ecx, dword [0x7dc7c0]
add ebx, ebp
xor edx, edx
mov dword [ecx + ebx*4], eax
mov ebp, dword [0x7dc820]
inc ebp
mov dword [0x7dc820], ebp
mov dl, byte [esi + 0xc]
cmp ebp, edx
jb 0x53781b
mov edi, dword [0x7dc7a4]
mov eax, dword [0x7dc790]
mov ecx, dword [esp + 0x78]
inc eax
cmp eax, ecx
mov dword [0x7dc790], eax
jb 0x537651
fstp st(0)
fstp st(0)
mov eax, dword [0x7dc794]
mov ecx, dword [esp + 0x7c]
inc eax
cmp eax, ecx
mov dword [0x7dc794], eax
jb 0x5375c9
mov ebp, dword [esp + 0x70]
xor ebx, ebx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], eax
fild qword [esp + 0x64]
fdiv qword [0x7dc7d8]
call fcn.00509960
imul eax, dword [0x7dc780]
mov dword [0x7dc800], eax
mov eax, dword [esp + 0x78]
cmp eax, ebx
mov dword [0x7dc790], ebx
jbe 0x5383c9
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
jmp 0x5378ec
mov ebp, dword [esp + 0x70]
fld qword [0x7dc7e8]
fdivr st(1)
mov ecx, dword [0x7dc790]
xor ebx, ebx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ebx
fstp qword [0x7dc730]
fild qword [esp + 0x64]
fdiv st(1)
fst qword [0x7dc7a8]
fmul st(1)
fst qword [0x7dc7b8]
call fcn.00509960
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fsubr qword [0x7dc7b8]
fmul qword [0x5cfe98]
fst qword [0x7dc7c8]
fcos
fsubr qword [0x5a8418]
fmul qword [0x5a8460]
fstp qword [0x7dc788]
fld qword [0x7dc7a8]
fmul qword [0x7dc730]
mov bl, byte [ebp + 0xc]
fld st(0)
call fcn.00509960
imul ebx, eax
fadd qword [0x5a8418]
mov dword [0x7dc7f8], ebx
call fcn.00509960
xor edx, edx
mov ecx, dword [0x7dc810]
mov dl, byte [ebp + 0xc]
imul ecx, dword [esp + 0x7c]
imul eax, edx
xor ebx, ebx
mov dword [0x7dc7fc], eax
mov bl, byte [ebp + 0xc]
xor ebp, ebp
imul ebx, dword [0x7dc790]
add ebx, ecx
mov dword [0x7dc820], ebp
mov dword [0x7dc814], ebx
mov cl, byte [esi + 0xc]
test cl, cl
jbe 0x537a45
jmp 0x5379cb
mov eax, dword [0x7dc7fc]
mov ebx, dword [0x7dc814]
mov edx, dword [0x7dc7f8]
mov ecx, dword [0x7dc800]
add edx, ebp
add eax, ebp
add edx, ecx
add eax, ecx
mov edx, dword [edi + edx*4]
mov ecx, dword [edi + eax*4]
mov dword [esp + 0x54], edx
xor edx, edx
mov dword [esp + 0x58], edx
mov dword [esp + 0x4c], ecx
fild qword [esp + 0x54]
fld qword [0x5a8418]
fsub qword [0x7dc788]
mov dword [esp + 0x50], edx
fmulp st(1)
fild qword [esp + 0x4c]
fmul qword [0x7dc788]
faddp st(1)
call fcn.00509960
mov edx, dword [0x7dc7c0]
add ebx, ebp
mov dword [edx + ebx*4], eax
mov ebp, dword [0x7dc820]
mov edi, dword [0x7dc7a4]
inc ebp
xor eax, eax
mov dword [0x7dc820], ebp
mov al, byte [esi + 0xc]
cmp ebp, eax
jb 0x5379c0
mov eax, dword [0x7dc790]
mov ecx, dword [esp + 0x78]
inc eax
cmp eax, ecx
mov dword [0x7dc790], eax
jb 0x5378e8
mov eax, esi
pop edi
pop esi
pop ebp
fstp st(0)
pop ebx
add esp, 0x5c
ret
mov edi, dword [ebp + 0x14]
mov eax, dword [esp + 0x7c]
mov dword [0x7dc81c], edi
mov ecx, dword [esi + 0x14]
dec eax
mov ebx, 0
mov dword [0x7dc7a0], ecx
mov dword [esp + 0x7c], eax
mov dword [0x7dc794], ebx
je 0x537d66
fld qword [0x5a8418]
fdiv qword [0x7dc7d8]
mov ebp, dword [0x7dc794]
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], ebp
fild qword [esp + 0x64]
fmul st(1)
call fcn.00509960
mov ebx, dword [0x7dc780]
imul eax, ebx
inc ebp
mov dword [0x7dc800], eax
mov dword [esp + 0x5c], ebp
xor ebp, ebp
mov dword [esp + 0x60], ebp
fild qword [esp + 0x5c]
fmul st(1)
call fcn.00509960
imul eax, ebx
fstp st(0)
mov dword [0x7dc804], eax
mov eax, dword [esp + 0x78]
cmp eax, ebp
mov dword [0x7dc790], ebp
jbe 0x537d49
mov ecx, dword [esp + 0x7c]
mov edx, eax
xor eax, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], eax
inc ecx
fild qword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
fild qword [esp + 0x4c]
fld st(1)
fdiv qword [0x7dc7e8]
mov edx, dword [0x7dc790]
xor ebx, ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ebx
fstp qword [0x7dc730]
fild qword [esp + 0x44]
fdiv st(2)
fstp qword [0x7dc7a8]
fld st(1)
fmul qword [0x7dc7a8]
fld st(0)
call fcn.00509960
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebx
fild qword [esp + 0x3c]
mov ebp, dword [esp + 0x70]
fsubr st(1)
fstp qword [0x7dc7b0]
fstp st(0)
fld qword [0x5a8418]
fsub qword [0x7dc7b0]
fstp qword [0x7dc738]
fld qword [0x7dc7a8]
fmul qword [0x7dc730]
fstp qword [0x7dc7b8]
fld qword [0x7dc7b8]
mov bl, byte [ebp + 0xc]
call fcn.00509960
imul ebx, eax
fld qword [0x7dc7b8]
fadd qword [0x5a8418]
mov dword [0x7dc7f8], ebx
call fcn.00509960
xor ecx, ecx
mov cl, byte [ebp + 0xc]
imul eax, ecx
xor ecx, ecx
mov dword [0x7dc7fc], eax
mov dword [0x7dc820], ecx
mov dl, byte [esi + 0xc]
test dl, dl
jbe 0x537c88
mov ebp, dword [0x7dc800]
lea edx, [ebx + ebp]
add ebp, eax
mov dword [esp + 0x74], ebp
mov ebp, dword [0x7dc804]
add ebp, ebx
mov ebx, dword [0x7dc804]
add eax, ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
xor ebx, ebx
add eax, ecx
mov bx, word [edi + eax*2]
lea eax, [edx + ecx]
mov dword [esp + 0x10], ebx
xor ebx, ebx
fild dword [esp + 0x10]
mov bx, word [edi + eax*2]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], ebx
add eax, ecx
fmul qword [0x7dc7b0]
fild dword [esp + 0x10]
xor ebx, ebx
fmul qword [0x7dc738]
faddp st(1)
fstp qword [ecx*8 + 0x7dc740]
mov bx, word [edi + eax*2]
lea eax, [ecx + ebp]
mov dword [esp + 0x10], ebx
xor ebx, ebx
fild dword [esp + 0x10]
mov bx, word [edi + eax*2]
inc ecx
mov dword [esp + 0x10], ebx
xor eax, eax
fmul qword [0x7dc7b0]
fild dword [esp + 0x10]
mov dword [0x7dc820], ecx
fmul qword [0x7dc738]
faddp st(1)
fstp qword [ecx*8 + 0x7dc758]
mov al, byte [esi + 0xc]
cmp ecx, eax
jb 0x537c00
mov eax, dword [0x7dc794]
xor ebp, ebp
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebp
fild qword [esp + 0x34]
imul eax, dword [0x7dc810]
fdiv st(1)
xor ebx, ebx
fstp qword [0x7dc7a8]
fld qword [0x5a8418]
fsub qword [0x7dc7a8]
fstp qword [0x7dc738]
mov bl, byte [esi + 0xc]
mov dword [0x7dc820], ebp
imul ebx, dword [0x7dc790]
add ebx, eax
mov dword [0x7dc814], ebx
mov al, byte [esi + 0xc]
test al, al
jbe 0x537d2e
jmp 0x537ce5
mov ebx, dword [0x7dc814]
fld qword [0x7dc738]
fmul qword [ebp*8 + 0x7dc740]
fld qword [0x7dc7a8]
fmul qword [ebp*8 + 0x7dc760]
faddp st(1)
call fcn.00509960
mov ecx, dword [0x7dc7a0]
add ebx, ebp
xor edx, edx
mov word [ecx + ebx*2], ax
mov ebp, dword [0x7dc820]
inc ebp
mov dword [0x7dc820], ebp
mov dl, byte [esi + 0xc]
cmp ebp, edx
jb 0x537cdf
mov edi, dword [0x7dc81c]
mov eax, dword [0x7dc790]
mov ecx, dword [esp + 0x78]
inc eax
cmp eax, ecx
mov dword [0x7dc790], eax
jb 0x537b1e
fstp st(0)
fstp st(0)
mov eax, dword [0x7dc794]
mov ecx, dword [esp + 0x7c]
inc eax
cmp eax, ecx
mov dword [0x7dc794], eax
jb 0x537a94
mov ebp, dword [esp + 0x70]
xor ebx, ebx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], eax
fild qword [esp + 0x64]
fdiv qword [0x7dc7d8]
call fcn.00509960
imul eax, dword [0x7dc780]
mov dword [0x7dc800], eax
mov eax, dword [esp + 0x78]
cmp eax, ebx
mov dword [0x7dc790], ebx
jbe 0x5383c9
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x64]
jmp 0x537db1
mov ebp, dword [esp + 0x70]
fld qword [0x7dc7e8]
fdivr st(1)
mov ecx, dword [0x7dc790]
xor ebx, ebx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ebx
fstp qword [0x7dc730]
fild qword [esp + 0x64]
fdiv st(1)
fst qword [0x7dc7a8]
fmul st(1)
fst qword [0x7dc7b8]
call fcn.00509960
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fsubr qword [0x7dc7b8]
fmul qword [0x5cfe98]
fst qword [0x7dc7c8]
fcos
fsubr qword [0x5a8418]
fmul qword [0x5a8460]
fstp qword [0x7dc788]
fld qword [0x7dc7a8]
fmul qword [0x7dc730]
mov bl, byte [ebp + 0xc]
fld st(0)
call fcn.00509960
imul ebx, eax
fadd qword [0x5a8418]
mov dword [0x7dc7f8], ebx
call fcn.00509960
xor edx, edx
mov ecx, dword [0x7dc810]
mov dl, byte [ebp + 0xc]
imul ecx, dword [esp + 0x7c]
imul eax, edx
xor ebx, ebx
mov dword [0x7dc7fc], eax
mov bl, byte [ebp + 0xc]
xor ebp, ebp
imul ebx, dword [0x7dc790]
add ebx, ecx
mov dword [0x7dc820], ebp
mov dword [0x7dc814], ebx
mov cl, byte [esi + 0xc]
test cl, cl
jbe 0x537f0e
jmp 0x537e90
mov eax, dword [0x7dc7fc]
mov ebx, dword [0x7dc814]
mov edx, dword [0x7dc7f8]
add eax, ebp
lea ecx, [edx + ebp]
mov edx, dword [0x7dc800]
add ecx, edx
xor edx, edx
mov dx, word [edi + ecx*2]
mov ecx, dword [0x7dc800]
mov dword [esp + 0x74], edx
add eax, ecx
fild dword [esp + 0x74]
fld qword [0x5a8418]
fsub qword [0x7dc788]
xor ecx, ecx
mov cx, word [edi + eax*2]
fmulp st(1)
mov dword [esp + 0x74], ecx
fild dword [esp + 0x74]
fmul qword [0x7dc788]
faddp st(1)
call fcn.00509960
mov edx, dword [0x7dc7a0]
add ebx, ebp
mov word [edx + ebx*2], ax
mov ebp, dword [0x7dc820]
mov edi, dword [0x7dc81c]
inc ebp
xor eax, eax
mov dword [0x7dc820], ebp
mov al, byte [esi + 0xc]
cmp ebp, eax
jb 0x537e85
mov eax, dword [0x7dc790]
mov ecx, dword [esp + 0x78]
inc eax
cmp eax, ecx
mov dword [0x7dc790], eax
jb 0x537dad
mov eax, esi
pop edi
pop esi
pop ebp
fstp st(0)
pop ebx
add esp, 0x5c
ret
mov eax, dword [esp + 0x7c]
mov edi, 0
dec eax
mov dword [0x7dc794], edi
mov dword [esp + 0x7c], eax
je 0x53821e
fld qword [0x5a8418]
fdiv qword [0x7dc7d8]
mov ebx, dword [0x7dc794]
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], ebx
fild qword [esp + 0x64]
fmul st(1)
call fcn.00509960
mov edi, dword [0x7dc780]
mov ebp, eax
imul ebp, edi
inc ebx
mov dword [0x7dc800], ebp
mov dword [esp + 0x5c], ebx
xor ebx, ebx
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fmul st(1)
call fcn.00509960
imul eax, edi
fstp st(0)
mov dword [0x7dc804], eax
mov eax, dword [esp + 0x78]
cmp eax, ebx
mov dword [0x7dc790], ebx
jbe 0x538201
mov edx, dword [esp + 0x7c]
mov ecx, eax
xor eax, eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], eax
inc edx
fild qword [esp + 0x54]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
fild qword [esp + 0x4c]
fld st(1)
fdiv qword [0x7dc7e8]
mov eax, dword [0x7dc790]
xor edi, edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edi
fstp qword [0x7dc730]
fild qword [esp + 0x44]
fdiv st(2)
fstp qword [0x7dc7a8]
fld st(1)
fmul qword [0x7dc7a8]
fld st(0)
call fcn.00509960
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edi
fild qword [esp + 0x3c]
mov ebx, dword [esp + 0x70]
xor ecx, ecx
fsubr st(1)
fstp qword [0x7dc7b0]
fstp st(0)
fld qword [0x5a8418]
fsub qword [0x7dc7b0]
fstp qword [0x7dc738]
fld qword [0x7dc7a8]
fmul qword [0x7dc730]
fstp qword [0x7dc7b8]
mov cl, byte [ebx + 0xc]
fld qword [0x7dc7b8]
mov edi, ecx
call fcn.00509960
imul edi, eax
fld qword [0x7dc7b8]
fadd qword [0x5a8418]
mov dword [0x7dc7f8], edi
call fcn.00509960
xor edx, edx
xor ecx, ecx
mov dl, byte [ebx + 0xc]
mov dword [0x7dc820], ecx
imul eax, edx
mov dword [0x7dc7fc], eax
mov dl, byte [esi + 0xc]
test dl, dl
jbe 0x538142
mov edx, dword [esp + 0x70]
xor ebx, ebx
mov edx, dword [edx + 0x14]
add edx, ecx
mov dword [esp + 0x74], edx
add edx, eax
mov bl, byte [edx + ebp]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x14], ebx
add edx, edi
fild dword [esp + 0x14]
xor ebx, ebx
mov bl, byte [edx + ebp]
mov edx, dword [esp + 0x70]
fmul qword [0x7dc7b0]
mov dword [esp + 0x74], ebx
mov ebp, dword [0x7dc804]
fild dword [esp + 0x74]
xor ebx, ebx
fmul qword [0x7dc738]
faddp st(1)
fstp qword [ecx*8 + 0x7dc740]
mov edx, dword [edx + 0x14]
add edx, ecx
mov dword [esp + 0x74], edx
add edx, eax
mov bl, byte [edx + ebp]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x14], ebx
add edx, edi
fild dword [esp + 0x14]
xor ebx, ebx
inc ecx
mov bl, byte [edx + ebp]
mov ebp, dword [0x7dc800]
fmul qword [0x7dc7b0]
mov dword [esp + 0x74], ebx
xor edx, edx
fild dword [esp + 0x74]
mov dword [0x7dc820], ecx
fmul qword [0x7dc738]
faddp st(1)
fstp qword [ecx*8 + 0x7dc758]
mov dl, byte [esi + 0xc]
cmp ecx, edx
jb 0x53809a
mov eax, dword [0x7dc794]
xor ebx, ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebx
fild qword [esp + 0x34]
imul eax, dword [0x7dc810]
fdiv st(1)
xor ecx, ecx
fstp qword [0x7dc7a8]
fld qword [0x5a8418]
fsub qword [0x7dc7a8]
fstp qword [0x7dc738]
mov cl, byte [esi + 0xc]
mov dword [0x7dc820], ebx
mov edi, ecx
imul edi, dword [0x7dc790]
add edi, eax
mov dword [0x7dc814], edi
mov al, byte [esi + 0xc]
test al, al
jbe 0x5381e6
jmp 0x5381a1
mov edi, dword [0x7dc814]
fld qword [0x7dc738]
fmul qword [ebx*8 + 0x7dc740]
fld qword [0x7dc7a8]
fmul qword [ebx*8 + 0x7dc760]
faddp st(1)
call fcn.00509960
mov edx, dword [esi + 0x14]
add edx, edi
mov byte [edx + ebx], al
mov ebx, dword [0x7dc820]
inc ebx
xor eax, eax
mov dword [0x7dc820], ebx
mov al, byte [esi + 0xc]
cmp ebx, eax
jb 0x53819b
mov ebp, dword [0x7dc800]
mov eax, dword [0x7dc790]
mov ecx, dword [esp + 0x78]
inc eax
cmp eax, ecx
mov dword [0x7dc790], eax
jb 0x537fd8
fstp st(0)
fstp st(0)
mov eax, dword [0x7dc794]
mov ecx, dword [esp + 0x7c]
inc eax
cmp eax, ecx
mov dword [0x7dc794], eax
jb 0x537f4b
mov ebp, dword [esp + 0x70]
xor edi, edi
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], ecx
fild qword [esp + 0x64]
fdiv qword [0x7dc7d8]
call fcn.00509960
imul eax, dword [0x7dc780]
mov dword [0x7dc800], eax
mov eax, dword [esp + 0x78]
cmp eax, edi
mov dword [0x7dc790], edi
jbe 0x5383c9
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edi
fild qword [esp + 0x64]
jmp 0x53826f
mov ebp, dword [esp + 0x70]
mov edi, dword [0x7dc790]
fld qword [0x7dc7e8]
fdivr st(1)
xor ebx, ebx
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], ebx
fstp qword [0x7dc730]
fild qword [esp + 0x64]
fdiv st(1)
fst qword [0x7dc7a8]
fmul st(1)
fst qword [0x7dc7b8]
call fcn.00509960
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebx
fild qword [esp + 0x5c]
fsubr qword [0x7dc7b8]
fmul qword [0x5cfe98]
fst qword [0x7dc7c8]
fcos
fsubr qword [0x5a8418]
fmul qword [0x5a8460]
fstp qword [0x7dc788]
fld qword [0x7dc7a8]
fmul qword [0x7dc730]
mov bl, byte [ebp + 0xc]
fld st(0)
call fcn.00509960
imul ebx, eax
fadd qword [0x5a8418]
mov dword [0x7dc7f8], ebx
call fcn.00509960
xor edx, edx
mov ecx, dword [0x7dc810]
mov dl, byte [ebp + 0xc]
imul ecx, dword [esp + 0x7c]
imul eax, edx
mov dword [0x7dc7fc], eax
xor eax, eax
mov al, byte [ebp + 0xc]
mov ebp, eax
imul ebp, edi
add ebp, ecx
xor edi, edi
mov dword [0x7dc814], ebp
mov dword [0x7dc820], edi
mov al, byte [esi + 0xc]
test al, al
jbe 0x5383b0
jmp 0x538343
mov ebx, dword [0x7dc7f8]
mov ebp, dword [0x7dc814]
mov edx, dword [esp + 0x70]
mov eax, dword [edx + 0x14]
lea ecx, [edi + eax]
mov eax, dword [0x7dc800]
lea edx, [ecx + ebx]
xor ebx, ebx
mov bl, byte [edx + eax]
mov edx, dword [0x7dc7fc]
mov dword [esp + 0x74], ebx
add ecx, edx
fild dword [esp + 0x74]
fld qword [0x5a8418]
fsub qword [0x7dc788]
xor edx, edx
mov dl, byte [ecx + eax]
fmulp st(1)
mov dword [esp + 0x74], edx
fild dword [esp + 0x74]
fmul qword [0x7dc788]
faddp st(1)
call fcn.00509960
mov ecx, dword [esi + 0x14]
xor edx, edx
add ecx, ebp
mov byte [ecx + edi], al
mov edi, dword [0x7dc820]
inc edi
mov dword [0x7dc820], edi
mov dl, byte [esi + 0xc]
cmp edi, edx
jb 0x538337
mov eax, dword [0x7dc790]
mov ecx, dword [esp + 0x78]
inc eax
cmp eax, ecx
mov dword [0x7dc790], eax
jb 0x538265
fstp st(0)
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret