Function at 0x4991e0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5dd3f4
mov eax, dword fs:[0]
push eax
sub esp, 0x3f4
mov eax, dword [0x639e38]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x330], ecx
mov eax, dword [ebp - 0x330]
fldz
fstp dword [eax + 4]
mov ecx, dword [ebp - 0x330]
fldz
fstp dword [ecx + 8]
mov edx, dword [ebp - 0x330]
fldz
fstp dword [edx + 0xc]
mov eax, dword [ebp - 0x330]
fldz
fstp dword [eax + 0x10]
mov ecx, dword [ebp - 0x330]
fldz
fstp dword [ecx + 0x14]
mov edx, dword [ebp - 0x330]
fldz
fstp dword [edx + 0x18]
mov eax, dword [ebp - 0x330]
fldz
fstp dword [eax + 0x1c]
mov ecx, dword [ebp - 0x330]
fldz
fstp dword [ecx + 0x20]
mov edx, dword [ebp - 0x330]
fldz
fstp dword [edx + 0x24]
mov eax, dword [ebp - 0x330]
fldz
fstp dword [eax + 0x2c]
mov ecx, dword [ebp - 0x330]
fldz
fstp dword [ecx + 0x34]
mov edx, dword [ebp - 0x330]
fldz
fstp dword [edx + 0x28]
mov eax, dword [ebp - 0x330]
fldz
fstp dword [eax + 0x30]
mov ecx, dword [ebp - 0x330]
fldz
fstp dword [ecx + 0x38]
cmp dword [ebp + 0xc], 0
jne 0x499359
push 0x10
call fcn.0055b9a8
add esp, 4
mov dword [ebp - 0x258], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x258], 0
je 0x499333
mov ecx, dword [ebp + 8]
call fcn.004e0520
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp + 8]
call fcn.004e0530
mov dword [ebp - 0x25c], eax
mov edx, dword [ebp - 0x258]
mov dword [edx], 0
mov eax, dword [ebp - 0x258]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x258]
mov edx, dword [ebp - 0x25c]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x258]
mov ecx, dword [ebp - 0x260]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x258]
mov dword [ebp - 0x334], edx
jmp 0x49933d
mov dword [ebp - 0x334], 0
mov eax, dword [ebp - 0x334]
mov dword [ebp - 0x254], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x254]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov ecx, dword [edx + 8]
sub ecx, dword [eax]
mov dword [ebp - 0x264], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov ecx, dword [edx + 0xc]
sub ecx, dword [eax + 4]
imul ecx, dword [ebp - 0x264]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
jmp 0x499393
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x14]
cmp eax, dword [edx + 8]
jge 0x4995a8
mov ecx, dword [ebp + 8]
call fcn.004e0520
mov ecx, dword [ebp + 0xc]
sub eax, dword [ecx + 0xc]
mov dword [ebp - 0x18], eax
jmp 0x4993be
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
mov ecx, dword [ebp + 8]
call fcn.004e0520
mov ecx, dword [ebp + 0xc]
sub eax, dword [ecx + 4]
cmp dword [ebp - 0x18], eax
jae 0x4995a3
push 1
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp - 0x14]
push eax
lea ecx, [ebp - 0x20]
push ecx
mov ecx, dword [ebp + 8]
call fcn.004e0a50
movzx edx, byte [ebp - 0x1e]
mov dword [ebp - 0x338], edx
fild dword [ebp - 0x338]
fmul qword [0x5f0548]
movzx eax, byte [ebp - 0x1f]
mov dword [ebp - 0x33c], eax
fild dword [ebp - 0x33c]
fmul qword [0x5f0540]
faddp st(1)
movzx ecx, byte [ebp - 0x20]
mov dword [ebp - 0x340], ecx
fild dword [ebp - 0x340]
fmul qword [0x5f0538]
faddp st(1)
mov edx, dword [ebp - 0x330]
fadd dword [edx + 4]
mov eax, dword [ebp - 0x330]
fstp dword [eax + 4]
movzx ecx, byte [ebp - 0x1e]
movzx edx, byte [ebp - 0x1f]
add ecx, edx
movzx eax, byte [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x1c], ecx
je 0x49959e
movzx ecx, byte [ebp - 0x1e]
mov dword [ebp - 0x344], ecx
fild dword [ebp - 0x344]
fidiv dword [ebp - 0x1c]
mov edx, dword [ebp - 0x330]
fadd dword [edx + 0xc]
mov eax, dword [ebp - 0x330]
fstp dword [eax + 0xc]
movzx ecx, byte [ebp - 0x1f]
mov dword [ebp - 0x348], ecx
fild dword [ebp - 0x348]
fidiv dword [ebp - 0x1c]
mov edx, dword [ebp - 0x330]
fadd dword [edx + 0x14]
mov eax, dword [ebp - 0x330]
fstp dword [eax + 0x14]
movzx ecx, byte [ebp - 0x20]
mov dword [ebp - 0x34c], ecx
fild dword [ebp - 0x34c]
fidiv dword [ebp - 0x1c]
mov edx, dword [ebp - 0x330]
fadd dword [edx + 0x1c]
mov eax, dword [ebp - 0x330]
fstp dword [eax + 0x1c]
lea ecx, [ebp - 0x134]
call fcn.00436740
mov dword [ebp - 4], 1
movzx ecx, byte [ebp - 0x20]
mov dword [ebp - 0x350], ecx
fild dword [ebp - 0x350]
sub esp, 8
fstp qword [esp]
movzx edx, byte [ebp - 0x1f]
mov dword [ebp - 0x354], edx
fild dword [ebp - 0x354]
sub esp, 8
fstp qword [esp]
movzx eax, byte [ebp - 0x1e]
mov dword [ebp - 0x358], eax
fild dword [ebp - 0x358]
sub esp, 8
fstp qword [esp]
lea ecx, [ebp - 0x134]
call fcn.00436c00
lea ecx, [ebp - 0x134]
call fcn.00436fd0
lea ecx, [ebp - 0x134]
call fcn.00436970
mov ecx, dword [ebp - 0x330]
fadd dword [ecx + 0x24]
mov edx, dword [ebp - 0x330]
fstp dword [edx + 0x24]
lea ecx, [ebp - 0x134]
call fcn.00436990
mov eax, dword [ebp - 0x330]
fadd dword [eax + 0x2c]
mov ecx, dword [ebp - 0x330]
fstp dword [ecx + 0x2c]
lea ecx, [ebp - 0x134]
call fcn.004369b0
mov edx, dword [ebp - 0x330]
fadd dword [edx + 0x34]
mov eax, dword [ebp - 0x330]
fstp dword [eax + 0x34]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x134]
call fcn.00436900
jmp 0x4993b5
jmp 0x49938a
fild dword [ebp - 0x10]
mov ecx, dword [ebp - 0x330]
fdivr dword [ecx + 4]
mov edx, dword [ebp - 0x330]
fstp dword [edx + 4]
fild dword [ebp - 0x10]
mov eax, dword [ebp - 0x330]
fdivr dword [eax + 0xc]
mov ecx, dword [ebp - 0x330]
fstp dword [ecx + 0xc]
fild dword [ebp - 0x10]
mov edx, dword [ebp - 0x330]
fdivr dword [edx + 0x14]
mov eax, dword [ebp - 0x330]
fstp dword [eax + 0x14]
fild dword [ebp - 0x10]
mov ecx, dword [ebp - 0x330]
fdivr dword [ecx + 0x1c]
mov edx, dword [ebp - 0x330]
fstp dword [edx + 0x1c]
fild dword [ebp - 0x10]
mov eax, dword [ebp - 0x330]
fdivr dword [eax + 0x24]
mov ecx, dword [ebp - 0x330]
fstp dword [ecx + 0x24]
fild dword [ebp - 0x10]
mov edx, dword [ebp - 0x330]
fdivr dword [edx + 0x2c]
mov eax, dword [ebp - 0x330]
fstp dword [eax + 0x2c]
fild dword [ebp - 0x10]
mov ecx, dword [ebp - 0x330]
fdivr dword [ecx + 0x34]
mov edx, dword [ebp - 0x330]
fstp dword [edx + 0x34]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
jmp 0x49964e
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [eax + 8]
jge 0x499bd0
mov ecx, dword [ebp + 8]
call fcn.004e0520
mov edx, dword [ebp + 0xc]
sub eax, dword [edx + 0xc]
mov dword [ebp - 0x18], eax
jmp 0x499679
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp + 8]
call fcn.004e0520
mov ecx, dword [ebp + 0xc]
sub eax, dword [ecx + 4]
cmp dword [ebp - 0x18], eax
jae 0x499bcb
push 1
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp - 0x14]
push eax
lea ecx, [ebp - 0x250]
push ecx
mov ecx, dword [ebp + 8]
call fcn.004e0a50
movzx edx, byte [ebp - 0x24e]
mov dword [ebp - 0x35c], edx
fild dword [ebp - 0x35c]
fmul qword [0x5f0548]
movzx eax, byte [ebp - 0x24f]
mov dword [ebp - 0x360], eax
fild dword [ebp - 0x360]
fmul qword [0x5f0540]
faddp st(1)
movzx ecx, byte [ebp - 0x250]
mov dword [ebp - 0x364], ecx
fild dword [ebp - 0x364]
fmul qword [0x5f0538]
faddp st(1)
call fcn.0055c6e0
mov dword [ebp - 0x13c], eax
mov edx, dword [ebp - 0x330]
fld dword [edx + 4]
fisubr dword [ebp - 0x13c]
fstp dword [ebp - 0x270]
push 2
push ecx
fld dword [ebp - 0x270]
fstp dword [esp]
call fcn.0049b1d0
add esp, 8
fstp dword [ebp - 0x274]
mov eax, dword [ebp - 0x330]
fld dword [eax + 8]
fadd dword [ebp - 0x274]
mov ecx, dword [ebp - 0x330]
fstp dword [ecx + 8]
movzx edx, byte [ebp - 0x24e]
movzx eax, byte [ebp - 0x24f]
add edx, eax
movzx ecx, byte [ebp - 0x250]
add edx, ecx
mov dword [ebp - 0x138], edx
je 0x499883
mov edx, dword [ebp - 0x330]
fld dword [edx + 0xc]
fild dword [ebp - 0x138]
movzx eax, byte [ebp - 0x24e]
mov dword [ebp - 0x368], eax
fidivr dword [ebp - 0x368]
fsubrp st(1)
fstp dword [ebp - 0x280]
push 2
push ecx
fld dword [ebp - 0x280]
fstp dword [esp]
call fcn.0049b1d0
add esp, 8
fstp dword [ebp - 0x284]
mov ecx, dword [ebp - 0x330]
fld dword [ecx + 0x10]
fadd dword [ebp - 0x284]
mov edx, dword [ebp - 0x330]
fstp dword [edx + 0x10]
mov eax, dword [ebp - 0x330]
fld dword [eax + 0x14]
fild dword [ebp - 0x138]
movzx ecx, byte [ebp - 0x24f]
mov dword [ebp - 0x36c], ecx
fidivr dword [ebp - 0x36c]
fsubrp st(1)
fstp dword [ebp - 0x290]
push 2
push ecx
fld dword [ebp - 0x290]
fstp dword [esp]
call fcn.0049b1d0
add esp, 8
fstp dword [ebp - 0x294]
mov edx, dword [ebp - 0x330]
fld dword [edx + 0x18]
fadd dword [ebp - 0x294]
mov eax, dword [ebp - 0x330]
fstp dword [eax + 0x18]
mov ecx, dword [ebp - 0x330]
fld dword [ecx + 0x1c]
fild dword [ebp - 0x138]
movzx edx, byte [ebp - 0x250]
mov dword [ebp - 0x370], edx
fidivr dword [ebp - 0x370]
fsubrp st(1)
fstp dword [ebp - 0x2a0]
push 2
push ecx
fld dword [ebp - 0x2a0]
fstp dword [esp]
call fcn.0049b1d0
add esp, 8
fstp dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x330]
fld dword [eax + 0x20]
fadd dword [ebp - 0x2a4]
mov ecx, dword [ebp - 0x330]
fstp dword [ecx + 0x20]
lea ecx, [ebp - 0x24c]
call fcn.00436740
mov dword [ebp - 4], 2
movzx edx, byte [ebp - 0x250]
mov dword [ebp - 0x374], edx
fild dword [ebp - 0x374]
sub esp, 8
fstp qword [esp]
movzx eax, byte [ebp - 0x24f]
mov dword [ebp - 0x378], eax
fild dword [ebp - 0x378]
sub esp, 8
fstp qword [esp]
movzx ecx, byte [ebp - 0x24e]
mov dword [ebp - 0x37c], ecx
fild dword [ebp - 0x37c]
sub esp, 8
fstp qword [esp]
lea ecx, [ebp - 0x24c]
call fcn.00436c00
lea ecx, [ebp - 0x24c]
call fcn.00436fd0
mov edx, dword [ebp - 0x330]
fld dword [edx + 0x24]
lea ecx, [ebp - 0x24c]
fstp qword [ebp - 0x384]
call fcn.00436970
fsub qword [ebp - 0x384]
fstp qword [ebp - 0x2c8]
fld qword [ebp - 0x2c8]
fstp qword [ebp - 0x2b8]
mov eax, 2
test eax, eax
jl 0x49993d
mov dword [ebp - 0x2a8], 2
jmp 0x49994a
mov ecx, 2
neg ecx
mov dword [ebp - 0x2a8], ecx
fld1
fstp qword [ebp - 0x2b0]
jmp 0x499966
fld qword [ebp - 0x2b8]
fmul qword [ebp - 0x2b8]
fstp qword [ebp - 0x2b8]
mov edx, dword [ebp - 0x2a8]
and edx, 1
je 0x499983
fld qword [ebp - 0x2b0]
fmul qword [ebp - 0x2b8]
fstp qword [ebp - 0x2b0]
mov eax, dword [ebp - 0x2a8]
shr eax, 1
mov dword [ebp - 0x2a8], eax
jne 0x4999c6
mov ecx, 2
test ecx, ecx
jge 0x4999ac
fld1
fdiv qword [ebp - 0x2b0]
fstp qword [ebp - 0x38c]
jmp 0x4999b8
fld qword [ebp - 0x2b0]
fstp qword [ebp - 0x38c]
fld qword [ebp - 0x38c]
fstp qword [ebp - 0x2c0]
jmp 0x4999c8
jmp 0x499954
mov edx, dword [ebp - 0x330]
fld dword [edx + 0x28]
fadd qword [ebp - 0x2c0]
mov eax, dword [ebp - 0x330]
fstp dword [eax + 0x28]
mov ecx, dword [ebp - 0x330]
fld dword [ecx + 0x2c]
lea ecx, [ebp - 0x24c]
fstp qword [ebp - 0x394]
call fcn.00436990
fsub qword [ebp - 0x394]
fstp qword [ebp - 0x2ec]
fld qword [ebp - 0x2ec]
fstp qword [ebp - 0x2dc]
mov edx, 2
test edx, edx
jl 0x499a27
mov dword [ebp - 0x2cc], 2
jmp 0x499a34
mov eax, 2
neg eax
mov dword [ebp - 0x2cc], eax
fld1
fstp qword [ebp - 0x2d4]
jmp 0x499a50
fld qword [ebp - 0x2dc]
fmul qword [ebp - 0x2dc]
fstp qword [ebp - 0x2dc]
mov ecx, dword [ebp - 0x2cc]
and ecx, 1
je 0x499a6d
fld qword [ebp - 0x2d4]
fmul qword [ebp - 0x2dc]
fstp qword [ebp - 0x2d4]
mov edx, dword [ebp - 0x2cc]
shr edx, 1
mov dword [ebp - 0x2cc], edx
jne 0x499ab0
mov eax, 2
test eax, eax
jge 0x499a96
fld1
fdiv qword [ebp - 0x2d4]
fstp qword [ebp - 0x39c]
jmp 0x499aa2
fld qword [ebp - 0x2d4]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x39c]
fstp qword [ebp - 0x2e4]
jmp 0x499ab2
jmp 0x499a3e
mov ecx, dword [ebp - 0x330]
fld dword [ecx + 0x30]
fadd qword [ebp - 0x2e4]
mov edx, dword [ebp - 0x330]
fstp dword [edx + 0x30]
mov eax, dword [ebp - 0x330]
fld dword [eax + 0x34]
lea ecx, [ebp - 0x24c]
fstp qword [ebp - 0x3a4]
call fcn.004369b0
fsub qword [ebp - 0x3a4]
fstp qword [ebp - 0x310]
fld qword [ebp - 0x310]
fstp qword [ebp - 0x300]
mov ecx, 2
test ecx, ecx
jl 0x499b11
mov dword [ebp - 0x2f0], 2
jmp 0x499b1e
mov edx, 2
neg edx
mov dword [ebp - 0x2f0], edx
fld1
fstp qword [ebp - 0x2f8]
jmp 0x499b3a
fld qword [ebp - 0x300]
fmul qword [ebp - 0x300]
fstp qword [ebp - 0x300]
mov eax, dword [ebp - 0x2f0]
and eax, 1
je 0x499b57
fld qword [ebp - 0x2f8]
fmul qword [ebp - 0x300]
fstp qword [ebp - 0x2f8]
mov ecx, dword [ebp - 0x2f0]
shr ecx, 1
mov dword [ebp - 0x2f0], ecx
jne 0x499b9a
mov edx, 2
test edx, edx
jge 0x499b80
fld1
fdiv qword [ebp - 0x2f8]
fstp qword [ebp - 0x3ac]
jmp 0x499b8c
fld qword [ebp - 0x2f8]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x3ac]
fstp qword [ebp - 0x308]
jmp 0x499b9c
jmp 0x499b28
mov eax, dword [ebp - 0x330]
fld dword [eax + 0x38]
fadd qword [ebp - 0x308]
mov ecx, dword [ebp - 0x330]
fstp dword [ecx + 0x38]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24c]
call fcn.00436900
jmp 0x499670
jmp 0x499645
mov edx, dword [ebp - 0x330]
fld dword [edx + 8]
fstp dword [ebp - 0x314]
fild dword [ebp - 0x10]
fld dword [ebp - 0x314]
sub esp, 8
fstp qword [esp]
fstp qword [ebp - 0x3b4]
call fcn.0055c6ac
add esp, 8
fstp dword [ebp - 0x3b8]
fld dword [ebp - 0x3b8]
fdiv qword [ebp - 0x3b4]
mov eax, dword [ebp - 0x330]
fstp dword [eax + 8]
mov ecx, dword [ebp - 0x330]
fld dword [ecx + 0x10]
fstp dword [ebp - 0x318]
fild dword [ebp - 0x10]
fld dword [ebp - 0x318]
sub esp, 8
fstp qword [esp]
fstp qword [ebp - 0x3c0]
call fcn.0055c6ac
add esp, 8
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3c4]
fdiv qword [ebp - 0x3c0]
mov edx, dword [ebp - 0x330]
fstp dword [edx + 0x10]
mov eax, dword [ebp - 0x330]
fld dword [eax + 0x18]
fstp dword [ebp - 0x31c]
fild dword [ebp - 0x10]
fld dword [ebp - 0x31c]
sub esp, 8
fstp qword [esp]
fstp qword [ebp - 0x3cc]
call fcn.0055c6ac
add esp, 8
fstp dword [ebp - 0x3d0]
fld dword [ebp - 0x3d0]
fdiv qword [ebp - 0x3cc]
mov ecx, dword [ebp - 0x330]
fstp dword [ecx + 0x18]
mov edx, dword [ebp - 0x330]
fld dword [edx + 0x20]
fstp dword [ebp - 0x320]
fild dword [ebp - 0x10]
fld dword [ebp - 0x320]
sub esp, 8
fstp qword [esp]
fstp qword [ebp - 0x3d8]
call fcn.0055c6ac
add esp, 8
fstp dword [ebp - 0x3dc]
fld dword [ebp - 0x3dc]
fdiv qword [ebp - 0x3d8]
mov eax, dword [ebp - 0x330]
fstp dword [eax + 0x20]
mov ecx, dword [ebp - 0x330]
fld dword [ecx + 0x28]
fstp dword [ebp - 0x324]
fild dword [ebp - 0x10]
fld dword [ebp - 0x324]
sub esp, 8
fstp qword [esp]
fstp qword [ebp - 0x3e4]
call fcn.0055c6ac
add esp, 8
fstp dword [ebp - 0x3e8]
fld dword [ebp - 0x3e8]
fdiv qword [ebp - 0x3e4]
mov edx, dword [ebp - 0x330]
fstp dword [edx + 0x28]
mov eax, dword [ebp - 0x330]
fld dword [eax + 0x30]
fstp dword [ebp - 0x328]
fild dword [ebp - 0x10]
fld dword [ebp - 0x328]
sub esp, 8
fstp qword [esp]
fstp qword [ebp - 0x3f0]
call fcn.0055c6ac
add esp, 8
fstp dword [ebp - 0x3f4]
fld dword [ebp - 0x3f4]
fdiv qword [ebp - 0x3f0]
mov ecx, dword [ebp - 0x330]
fstp dword [ecx + 0x30]
mov edx, dword [ebp - 0x330]
fld dword [edx + 0x38]
fstp dword [ebp - 0x32c]
fild dword [ebp - 0x10]
fld dword [ebp - 0x32c]
sub esp, 8
fstp qword [esp]
fstp qword [ebp - 0x3fc]
call fcn.0055c6ac
add esp, 8
fstp dword [ebp - 0x400]
fld dword [ebp - 0x400]
fdiv qword [ebp - 0x3fc]
mov eax, dword [ebp - 0x330]
fstp dword [eax + 0x38]
mov ecx, dword [ebp - 0x330]
fld dword [0x5f0534]
fstp dword [ecx + 0x48]
mov edx, dword [ebp - 0x330]
fld dword [0x5f0530]
fstp dword [edx + 0x4c]
mov eax, dword [ebp - 0x330]
fld dword [0x5f0524]
fstp dword [eax + 0x3c]
mov ecx, dword [ebp - 0x330]
fld dword [0x5f0520]
fstp dword [ecx + 0x40]
mov edx, dword [ebp - 0x330]
fld dword [0x5f0520]
fstp dword [edx + 0x44]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 8