Function at 0x5591ec
Capabilities:
Access peb ldr_data
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff5c
push ebx
push esi
push edi
mov esi, ecx
lea edi, [ebp - 0x60]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x208]
add al, 0xfe
sub al, 4
jb 0x55a3fc
mov dl, 1
mov eax, dword [0x4d0a18]
call fcn.004d13a8
mov dword [ebp - 0xc], eax
xor edx, edx
push ebp
push 0x55a3f5
push dword fs:[edx]
mov dword fs:[edx], esp
mov dl, 1
mov eax, dword [0x555234]
call fcn.00556dd0
mov dword [ebp - 0x10], eax
xor edx, edx
push ebp
push 0x55a3d8
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
call fcn.004e73e4
add eax, 0x32
mov ecx, 0x64
cdq
idiv ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x60]
imul dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x5c]
imul dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0x2c]
mov eax, dword [ebp - 8]
call fcn.004334f8
push eax
mov eax, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x70]
push eax
mov ecx, dword [ebp - 0x24]
xor edx, edx
xor eax, eax
call fcn.00420028
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x60]
mov eax, dword [ebp - 0xc]
call fcn.004d2240
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x240]
mov edx, dword [ebp - 0x10]
mov byte [edx + 0x30], al
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x3c], 3
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x32], 0
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x208]
cmp eax, 0xb
ja case.0x5592eb.2
jmp dword [eax*4 + 0x5592f2]
lea ecx, [ebp - 0x78]
xor edx, edx
xor eax, eax
call fcn.004d0f20
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
lea ecx, [ebp - 0x78]
xor edx, edx
mov eax, dword [ebp - 0x24]
call fcn.004d0f20
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
lea ecx, [ebp - 0x78]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.004d0f20
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
lea ecx, [ebp - 0x78]
mov edx, dword [ebp - 0x28]
xor eax, eax
call fcn.004d0f20
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
jmp case.0x5592eb.2
push 0
fild dword [ebp - 0x28]
fdiv dword [0x55a408]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
lea ecx, [ebp - 0x78]
xor edx, edx
mov eax, dword [ebp - 0x24]
call fcn.004d0f20
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
lea ecx, [ebp - 0x78]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.004d0f20
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
jmp case.0x5592eb.2
lea ecx, [ebp - 0x78]
xor edx, edx
xor eax, eax
call fcn.004d0f20
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
fild dword [ebp - 0x24]
fmul dword [0x55a40c]
add esp, 0xfffffffc
fstp dword [esp]
wait
fild dword [ebp - 0x28]
fdiv dword [0x55a408]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
lea ecx, [ebp - 0x78]
mov edx, dword [ebp - 0x28]
xor eax, eax
call fcn.004d0f20
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
jmp case.0x5592eb.2
fild dword [ebp - 0x24]
fdiv dword [0x55a408]
add esp, 0xfffffffc
fstp dword [esp]
wait
push 0
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
lea ecx, [ebp - 0x78]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.004d0f20
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
lea ecx, [ebp - 0x78]
mov edx, dword [ebp - 0x28]
xor eax, eax
call fcn.004d0f20
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
jmp case.0x5592eb.2
lea ecx, [ebp - 0x78]
xor edx, edx
xor eax, eax
call fcn.004d0f20
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
lea ecx, [ebp - 0x78]
xor edx, edx
mov eax, dword [ebp - 0x24]
call fcn.004d0f20
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
fild dword [ebp - 0x24]
fdiv dword [0x55a408]
add esp, 0xfffffffc
fstp dword [esp]
wait
fild dword [ebp - 0x28]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
jmp case.0x5592eb.2
fild dword [ebp - 0x24]
fdiv dword [0x55a408]
add esp, 0xfffffffc
fstp dword [esp]
wait
push 0
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
fild dword [ebp - 0x24]
fmul dword [0x55a40c]
add esp, 0xfffffffc
fstp dword [esp]
wait
fild dword [ebp - 0x28]
fdiv dword [0x55a408]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
fild dword [ebp - 0x24]
fdiv dword [0x55a408]
add esp, 0xfffffffc
fstp dword [esp]
wait
fild dword [ebp - 0x28]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
push 0
fild dword [ebp - 0x28]
fdiv dword [0x55a408]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
jmp case.0x5592eb.2
fild dword [ebp - 0x24]
fdiv dword [0x55a408]
fstp dword [ebp - 0x34]
wait
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x210]
dec esi
test esi, esi
jl case.0x5592eb.2
inc esi
xor ebx, ebx
mov dword [ebp - 0x7c], ebx
fild dword [ebp - 0x7c]
fld xword [0x55a410]
fmulp st(1)
mov eax, dword [ebp - 4]
fild dword [eax + 0x210]
fdivp st(1)
mov eax, dword [ebp - 4]
fild dword [eax + 0x214]
fld xword [0x55a41c]
fmulp st(1)
fdiv dword [0x55a428]
faddp st(1)
fstp dword [ebp - 0x4c]
wait
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x218]
test edi, edi
jle 0x5596af
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x210]
and eax, 0x80000001
jns 0x559632
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x5596af
mov eax, ebx
and eax, 0x80000001
jns 0x559644
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x5596af
fld dword [ebp - 0x4c]
call fcn.0040339c
fmul dword [ebp - 0x34]
mov eax, 0x64
sub eax, edi
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
fmulp st(1)
fdiv dword [0x55a42c]
fild dword [ebp - 0x24]
fdiv dword [0x55a408]
faddp st(1)
fstp dword [ebp - 0x44]
wait
fld dword [ebp - 0x4c]
call fcn.004033c4
fmul dword [ebp - 0x34]
mov eax, dword [ebp - 4]
mov edx, 0x64
sub edx, dword [eax + 0x218]
mov dword [ebp - 0x7c], edx
fild dword [ebp - 0x7c]
fmulp st(1)
fdiv dword [0x55a42c]
fild dword [ebp - 0x28]
fdiv dword [0x55a408]
fsubrp st(1)
fstp dword [ebp - 0x48]
wait
jmp 0x5596e3
fld dword [ebp - 0x4c]
call fcn.0040339c
fmul dword [ebp - 0x34]
fild dword [ebp - 0x24]
fdiv dword [0x55a408]
faddp st(1)
fstp dword [ebp - 0x44]
wait
fld dword [ebp - 0x4c]
call fcn.004033c4
fmul dword [ebp - 0x34]
fild dword [ebp - 0x28]
fdiv dword [0x55a408]
fsubrp st(1)
fstp dword [ebp - 0x48]
wait
push dword [ebp - 0x44]
push dword [ebp - 0x48]
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
inc ebx
dec esi
jne 0x5595d6
xor eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp byte [ebp + 8], 0
je 0x5597e6
mov eax, dword [ebp - 4]
cmp byte [eax + 0x242], 1
jne 0x5599cb
mov dl, 1
mov eax, dword [0x4d0a18]
call fcn.004d13a8
mov dword [ebp - 0x18], eax
mov dl, 1
mov eax, dword [0x5552f4]
call fcn.00404340
mov dword [ebp - 0x14], eax
mov ecx, 2
mov edx, 2
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x2c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x248]
call fcn.004d0e30
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x18]
call fcn.004d216c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x248]
call fcn.004d0e30
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.004d216c
push 0
mov cl, 0xff
mov dl, 0xff
mov al, 0xff
call fcn.004d0e68
push eax
mov ecx, 1
xor edx, edx
mov eax, dword [ebp - 0x18]
call fcn.004d216c
push 0
mov cl, 0xff
mov dl, 0xff
mov al, 0xff
call fcn.004d0e68
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.004d216c
mov dl, 1
mov eax, dword [ebp - 0x18]
call fcn.004d2c10
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov dword [eax + 4], edx
jmp 0x5599cb
mov eax, dword [ebp - 4]
cmp byte [eax + 0x234], 0
jne 0x5599cb
mov eax, dword [ebp - 4]
cmp byte [eax + 0x21c], 1
jne 0x55987f
mov dl, 1
mov eax, dword [0x4d0a18]
call fcn.004d13a8
mov dword [ebp - 0x18], eax
mov dl, 1
mov eax, dword [0x5552f4]
call fcn.00404340
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x2c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x230]
push eax
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x228]
push eax
mov eax, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x70]
push eax
mov ecx, dword [ebp - 0x24]
xor edx, edx
xor eax, eax
call fcn.00420028
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x18]
call fcn.004d2108
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x22c]
pop edx
call fcn.004eb3bc
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov dword [eax + 4], edx
jmp 0x5599cb
mov eax, dword [ebp - 4]
cmp byte [eax + 0x21c], 2
jne 0x5599cb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
cmp dword [eax + 0xc], 0
je 0x5599cb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
mov eax, dword [eax + 0xc]
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
jne 0x5599cb
mov dl, 1
mov eax, dword [0x5552f4]
call fcn.00404340
mov dword [ebp - 0x14], eax
lea edx, [ebp - 0x50]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
mov eax, dword [eax + 0xc]
call fcn.004e1c50
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x20]
jne 0x5598ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
mov eax, dword [eax + 0xc]
call fcn.004e23f4
mov dword [ebp - 0x18], eax
jmp 0x5599b8
mov dl, 1
mov eax, dword [0x4d0a18]
call fcn.004d13a8
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
call fcn.00435a4c
imul dword [ebp - 0x20]
cdq
idiv dword [ebp - 0x50]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
call fcn.00435a34
imul dword [ebp - 0x20]
cdq
idiv dword [ebp - 0x50]
mov edx, eax
mov eax, dword [ebp - 0x18]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x2c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
mov eax, dword [eax + 0xc]
call fcn.004e23f4
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x5599b1
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x55a438
mov eax, dword [ebp - 0x1c]
call fcn.004d2f3c
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x30]
push eax
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x34]
xor edx, edx
xor eax, eax
call fcn.00420028
lea ecx, [ebp - 0x70]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.004d232c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5599b8
mov eax, dword [ebp - 0x1c]
call fcn.00404370
ret
mov dl, 1
mov eax, dword [ebp - 0x18]
call fcn.004d2c10
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov dword [eax + 4], edx
cmp dword [ebp - 0x14], 0
je 0x559a14
xor eax, eax
push ebp
push 0x559a0d
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00556ef8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x559a62
mov eax, dword [ebp - 0x14]
call fcn.00404370
mov eax, dword [ebp - 0x18]
call fcn.00404370
ret
cmp byte [ebp + 8], 0
je 0x559a39
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x248]
call fcn.004d0e30
mov ecx, eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00556e40
jmp 0x559a62
mov eax, dword [ebp - 4]
cmp byte [eax + 0x234], 0
jne 0x559a62
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
call fcn.004d0e30
mov ecx, eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00556e40
cmp byte [ebp + 8], 0
jne 0x55a385
mov eax, dword [ebp - 4]
cmp dword [eax + 0x238], 0
jle 0x55a385
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x238]
imul ebx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
call fcn.00556f2c
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x208]
cmp eax, 0xb
ja case.0x559aa4.2
jmp dword [eax*4 + 0x559aab]
lea ecx, [ebp - 0x78]
mov edx, ebx
mov eax, ebx
call fcn.004d0f20
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
lea ecx, [ebp - 0x78]
mov esi, dword [ebp - 0x24]
sub esi, ebx
mov eax, esi
mov edx, ebx
call fcn.004d0f20
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
lea ecx, [ebp - 0x78]
mov edi, dword [ebp - 0x28]
sub edi, ebx
mov edx, edi
mov eax, esi
call fcn.004d0f20
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
lea ecx, [ebp - 0x78]
mov edx, edi
mov eax, ebx
call fcn.004d0f20
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
jmp case.0x559aa4.2
mov eax, dword [ebp - 0x24]
imul eax
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
mov eax, dword [ebp - 0x28]
imul eax
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fdiv dword [0x55a44c]
faddp st(1)
fsqrt
mov eax, ebx
add eax, eax
mov dword [ebp - 0x84], eax
fild dword [ebp - 0x84]
fmulp st(1)
fild dword [ebp - 0x28]
fdivp st(1)
fstp dword [ebp - 0x2c]
wait
mov eax, dword [ebp - 0x24]
imul eax
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
mov eax, dword [ebp - 0x28]
imul eax
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fdiv dword [0x55a44c]
faddp st(1)
fsqrt
mov eax, ebx
add eax, eax
mov dword [ebp - 0x84], eax
fild dword [ebp - 0x84]
fmulp st(1)
mov eax, ebx
imul dword [ebp - 0x28]
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
faddp st(1)
mov eax, dword [ebp - 0x24]
add eax, eax
mov dword [ebp - 0x8c], eax
fild dword [ebp - 0x8c]
fdivp st(1)
fstp dword [ebp - 0x30]
wait
push dword [ebp - 0x2c]
fild dword [ebp - 0x28]
fdiv dword [0x55a408]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
mov eax, dword [ebp - 0x24]
sub eax, ebx
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
fmul dword [0x55a40c]
add esp, 0xfffffffc
fstp dword [esp]
wait
push dword [ebp - 0x30]
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
mov eax, dword [ebp - 0x24]
sub eax, ebx
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
fmul dword [0x55a40c]
add esp, 0xfffffffc
fstp dword [esp]
wait
fild dword [ebp - 0x28]
fsub dword [ebp - 0x30]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
jmp case.0x559aa4.2
mov eax, dword [ebp - 0x24]
imul eax
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
mov eax, dword [ebp - 0x28]
imul eax
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fdiv dword [0x55a44c]
faddp st(1)
fsqrt
mov eax, ebx
add eax, eax
mov dword [ebp - 0x84], eax
fild dword [ebp - 0x84]
fmulp st(1)
fild dword [ebp - 0x28]
fdivp st(1)
fstp dword [ebp - 0x2c]
wait
mov eax, dword [ebp - 0x24]
imul eax
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
mov eax, dword [ebp - 0x28]
imul eax
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fdiv dword [0x55a44c]
faddp st(1)
fsqrt
mov eax, ebx
add eax, eax
mov dword [ebp - 0x84], eax
fild dword [ebp - 0x84]
fmulp st(1)
mov eax, ebx
imul dword [ebp - 0x28]
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
faddp st(1)
mov eax, dword [ebp - 0x24]
add eax, eax
mov dword [ebp - 0x8c], eax
fild dword [ebp - 0x8c]
fdivp st(1)
fstp dword [ebp - 0x30]
wait
mov dword [ebp - 0x7c], ebx
fild dword [ebp - 0x7c]
fmul dword [0x55a40c]
add esp, 0xfffffffc
fstp dword [esp]
wait
push dword [ebp - 0x30]
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
fild dword [ebp - 0x24]
fsub dword [ebp - 0x2c]
add esp, 0xfffffffc
fstp dword [esp]
wait
fild dword [ebp - 0x28]
fdiv dword [0x55a408]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
mov dword [ebp - 0x7c], ebx
fild dword [ebp - 0x7c]
fmul dword [0x55a40c]
add esp, 0xfffffffc
fstp dword [esp]
wait
fild dword [ebp - 0x28]
fsub dword [ebp - 0x30]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
jmp case.0x559aa4.2
mov eax, dword [ebp - 0x28]
imul eax
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
mov eax, dword [ebp - 0x24]
imul eax
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fdiv dword [0x55a44c]
faddp st(1)
fsqrt
mov eax, ebx
add eax, eax
mov dword [ebp - 0x84], eax
fild dword [ebp - 0x84]
fmulp st(1)
fild dword [ebp - 0x24]
fdivp st(1)
fstp dword [ebp - 0x2c]
wait
mov eax, dword [ebp - 0x28]
imul eax
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
mov eax, dword [ebp - 0x24]
imul eax
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fdiv dword [0x55a44c]
faddp st(1)
fsqrt
mov eax, ebx
add eax, eax
mov dword [ebp - 0x84], eax
fild dword [ebp - 0x84]
fmulp st(1)
mov eax, ebx
imul dword [ebp - 0x24]
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
faddp st(1)
mov eax, dword [ebp - 0x28]
add eax, eax
mov dword [ebp - 0x8c], eax
fild dword [ebp - 0x8c]
fdivp st(1)
fstp dword [ebp - 0x30]
wait
fild dword [ebp - 0x24]
fdiv dword [0x55a408]
add esp, 0xfffffffc
fstp dword [esp]
wait
push dword [ebp - 0x2c]
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
fild dword [ebp - 0x24]
fsub dword [ebp - 0x30]
add esp, 0xfffffffc
fstp dword [esp]
wait
mov eax, dword [ebp - 0x28]
sub eax, ebx
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
push dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
sub eax, ebx
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
jmp case.0x559aa4.2
mov eax, dword [ebp - 0x28]
imul eax
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
mov eax, dword [ebp - 0x24]
imul eax
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fdiv dword [0x55a44c]
faddp st(1)
fsqrt
mov eax, ebx
add eax, eax
mov dword [ebp - 0x84], eax
fild dword [ebp - 0x84]
fmulp st(1)
fild dword [ebp - 0x24]
fdivp st(1)
fstp dword [ebp - 0x2c]
wait
mov eax, dword [ebp - 0x28]
imul eax
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
mov eax, dword [ebp - 0x24]
imul eax
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fdiv dword [0x55a44c]
faddp st(1)
fsqrt
mov eax, ebx
add eax, eax
mov dword [ebp - 0x84], eax
fild dword [ebp - 0x84]
fmulp st(1)
mov eax, ebx
imul dword [ebp - 0x24]
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
faddp st(1)
mov eax, dword [ebp - 0x28]
add eax, eax
mov dword [ebp - 0x8c], eax
fild dword [ebp - 0x8c]
fdivp st(1)
fstp dword [ebp - 0x30]
wait
push dword [ebp - 0x30]
mov dword [ebp - 0x7c], ebx
fild dword [ebp - 0x7c]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
fild dword [ebp - 0x24]
fsub dword [ebp - 0x30]
add esp, 0xfffffffc
fstp dword [esp]
wait
mov dword [ebp - 0x7c], ebx
fild dword [ebp - 0x7c]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
fild dword [ebp - 0x24]
fdiv dword [0x55a408]
add esp, 0xfffffffc
fstp dword [esp]
wait
fild dword [ebp - 0x28]
fsub dword [ebp - 0x2c]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
jmp case.0x559aa4.2
mov eax, dword [ebp - 0x24]
imul eax
mov ecx, eax
mov eax, dword [ebp - 0x28]
imul eax
add ecx, eax
mov dword [ebp - 0x7c], ecx
fild dword [ebp - 0x7c]
fsqrt
mov dword [ebp - 0x80], ebx
fild dword [ebp - 0x80]
fmulp st(1)
fild dword [ebp - 0x28]
fdivp st(1)
fstp dword [ebp - 0x2c]
wait
mov eax, dword [ebp - 0x24]
imul eax
mov ecx, eax
mov eax, dword [ebp - 0x28]
imul eax
add ecx, eax
mov dword [ebp - 0x7c], ecx
fild dword [ebp - 0x7c]
fsqrt
mov dword [ebp - 0x80], ebx
fild dword [ebp - 0x80]
fmulp st(1)
fild dword [ebp - 0x24]
fdivp st(1)
fstp dword [ebp - 0x30]
wait
fild dword [ebp - 0x24]
fdiv dword [0x55a408]
add esp, 0xfffffffc
fstp dword [esp]
wait
push dword [ebp - 0x30]
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
fild dword [ebp - 0x24]
fsub dword [ebp - 0x2c]
add esp, 0xfffffffc
fstp dword [esp]
wait
fild dword [ebp - 0x28]
fdiv dword [0x55a408]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
fild dword [ebp - 0x24]
fdiv dword [0x55a408]
add esp, 0xfffffffc
fstp dword [esp]
wait
fild dword [ebp - 0x28]
fsub dword [ebp - 0x30]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
push dword [ebp - 0x2c]
fild dword [ebp - 0x28]
fdiv dword [0x55a408]
add esp, 0xfffffffc
fstp dword [esp]
wait
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
jmp case.0x559aa4.2
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x210]
mov eax, esi
and eax, 0x80000001
jns 0x55a0e4
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x55a0f8
mov eax, dword [ebp - 4]
cmp dword [eax + 0x218], 0
jne 0x55a1be
mov dword [ebp - 0x7c], esi
fild dword [ebp - 0x7c]
fld xword [0x55a41c]
fdivrp st(1)
call fcn.0040339c
mov dword [ebp - 0x80], ebx
fild dword [ebp - 0x80]
fdivrp st(1)
fild dword [ebp - 0x24]
fdiv dword [0x55a408]
fsubrp st(1)
fstp dword [ebp - 0x34]
wait
dec esi
test esi, esi
jl case.0x559aa4.2
inc esi
xor ebx, ebx
mov dword [ebp - 0x7c], ebx
fild dword [ebp - 0x7c]
fld xword [0x55a410]
fmulp st(1)
mov eax, dword [ebp - 4]
fild dword [eax + 0x210]
fdivp st(1)
mov eax, dword [ebp - 4]
fild dword [eax + 0x214]
fld xword [0x55a41c]
fmulp st(1)
fdiv dword [0x55a428]
faddp st(1)
fstp dword [ebp - 0x4c]
wait
fld dword [ebp - 0x4c]
call fcn.0040339c
fmul dword [ebp - 0x34]
fild dword [ebp - 0x24]
fdiv dword [0x55a408]
faddp st(1)
fstp dword [ebp - 0x44]
wait
fld dword [ebp - 0x4c]
call fcn.004033c4
fmul dword [ebp - 0x34]
fild dword [ebp - 0x28]
fdiv dword [0x55a408]
fsubrp st(1)
fstp dword [ebp - 0x48]
wait
push dword [ebp - 0x44]
push dword [ebp - 0x48]
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
inc ebx
dec esi
jne 0x55a12e
jmp case.0x559aa4.2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x218]
cmp eax, 0x64
jne 0x55a1e3
fild dword [ebp - 0x24]
fdiv dword [0x55a408]
fstp dword [ebp - 0x38]
wait
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x55a2a1
fild dword [ebp - 0x24]
fdiv dword [0x55a408]
fstp dword [ebp - 0x38]
wait
fild dword [ebp - 0x24]
fdiv dword [0x55a408]
mov edx, 0x64
sub edx, eax
mov dword [ebp - 0x7c], edx
fild dword [ebp - 0x7c]
fmulp st(1)
fdiv dword [0x55a42c]
fstp dword [ebp - 0x3c]
wait
mov dword [ebp - 0x7c], esi
fild dword [ebp - 0x7c]
fld xword [0x55a410]
fdivrp st(1)
fstp dword [ebp - 0x4c]
wait
fld dword [ebp - 0x4c]
call fcn.004033c4
fld dword [ebp - 0x38]
fmul dword [ebp - 0x3c]
fmulp st(1)
fstp xword [ebp - 0x98]
wait
fld dword [ebp - 0x4c]
call fcn.0040339c
fmul dword [ebp - 0x3c]
fsubr dword [ebp - 0x38]
fmul st(0)
fstp xword [ebp - 0xa4]
wait
fld dword [ebp - 0x4c]
call fcn.004033c4
fmul dword [ebp - 0x3c]
fmul st(0)
fld xword [ebp - 0xa4]
faddp st(1)
fsqrt
fld xword [ebp - 0x98]
fdivrp st(1)
fstp dword [ebp - 0x40]
wait
mov dword [ebp - 0x7c], ebx
fild dword [ebp - 0x7c]
fdiv dword [ebp - 0x40]
fsubr dword [0x55a40c]
fmul dword [ebp - 0x38]
fstp dword [ebp - 0x38]
wait
mov dword [ebp - 0x7c], ebx
fild dword [ebp - 0x7c]
fdiv dword [ebp - 0x40]
fsubr dword [0x55a40c]
fmul dword [ebp - 0x3c]
fstp dword [ebp - 0x3c]
wait
dec esi
test esi, esi
jl case.0x559aa4.2
inc esi
xor ebx, ebx
fld dword [ebp - 0x38]
add esp, 0xfffffff8
fstp qword [esp]
wait
fld dword [ebp - 0x3c]
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, ebx
and eax, 0x80000001
jns 0x55a2cf
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
sete al
call fcn.0043a3c0
fstp dword [ebp - 0x34]
wait
mov dword [ebp - 0x7c], ebx
fild dword [ebp - 0x7c]
fld xword [0x55a410]
fmulp st(1)
mov eax, dword [ebp - 4]
fild dword [eax + 0x210]
fdivp st(1)
mov eax, dword [ebp - 4]
fild dword [eax + 0x214]
fld xword [0x55a41c]
fmulp st(1)
fdiv dword [0x55a428]
faddp st(1)
fstp dword [ebp - 0x4c]
wait
fld dword [ebp - 0x4c]
call fcn.0040339c
fmul dword [ebp - 0x34]
fild dword [ebp - 0x24]
fdiv dword [0x55a408]
faddp st(1)
fstp dword [ebp - 0x44]
wait
fld dword [ebp - 0x4c]
call fcn.004033c4
fmul dword [ebp - 0x34]
fild dword [ebp - 0x28]
fdiv dword [0x55a408]
fsubrp st(1)
fstp dword [ebp - 0x48]
wait
push dword [ebp - 0x44]
push dword [ebp - 0x48]
lea eax, [ebp - 0x78]
call fcn.004d0f2c
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x10]
call fcn.00556cd4
inc ebx
dec esi
jne 0x55a2ad
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x23c]
call fcn.004d0e30
mov ecx, eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00556e40
push 4
mov eax, dword [ebp - 8]
call fcn.004334f8
push eax
call sub.gdi32.dll_SetStretchBltMode
mov eax, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x70]
push eax
mov ecx, dword [ebp - 0x24]
xor edx, edx
xor eax, eax
call fcn.00420028
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 8]
call fcn.004334f8
mov edx, eax
lea ecx, [ebp - 0x60]
mov eax, dword [ebp - 0xc]
call fcn.004d23fc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x55a3df
mov eax, dword [ebp - 0x10]
call fcn.00404370
ret
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4