Function at 0x449df3
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push 0x401646
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0xe4
call fcn.00401640
push ebx
push esi
push edi
mov dword [ebp - 0xc], esp
mov dword [ebp - 8], 0x4014c0
push 0x11
push 0x413e80
lea eax, [ebp - 0x2c]
push eax
call fcn.004017cc
mov eax, dword [ebp - 0x20]
mov byte [eax], 0x59
mov eax, dword [ebp - 0x20]
mov byte [eax + 1], 0x4e
push 1
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x41
push 1
pop eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x53
push 1
pop eax
shl eax, 2
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x4d
push 1
pop eax
imul eax, eax, 5
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x4b
push 1
pop eax
imul eax, eax, 6
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x51
push 1
pop eax
imul eax, eax, 7
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x51
push 1
pop eax
shl eax, 3
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x54
push 1
pop eax
imul eax, eax, 9
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x4d
push 1
pop eax
imul eax, eax, 0xa
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x44
push 1
pop eax
imul eax, eax, 0xb
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x48
push 1
pop eax
imul eax, eax, 0xc
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x4a
push 1
pop eax
imul eax, eax, 0xd
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x56
push 1
pop eax
imul eax, eax, 0xe
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x50
push 1
pop eax
imul eax, eax, 0xf
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x4f
push 1
pop eax
shl eax, 4
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x5a
push 1
pop eax
imul eax, eax, 0x11
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x4f
push 1
pop eax
imul eax, eax, 0x12
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x47
push 1
pop eax
imul eax, eax, 0x13
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x53
push 1
pop eax
imul eax, eax, 0x14
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x56
push 1
pop eax
imul eax, eax, 0x15
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x57
push 1
pop eax
imul eax, eax, 0x16
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x48
push 1
pop eax
imul eax, eax, 0x17
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x5a
push 1
pop eax
imul eax, eax, 0x18
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x41
push 1
pop eax
imul eax, eax, 0x19
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x50
push 1
pop eax
imul eax, eax, 0x1a
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x47
push 1
pop eax
imul eax, eax, 0x1b
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x45
push 1
pop eax
imul eax, eax, 0x1c
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x43
push 1
pop eax
imul eax, eax, 0x1d
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x53
push 1
pop eax
imul eax, eax, 0x1e
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x42
push 1
pop eax
imul eax, eax, 0x1f
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x4b
push 1
pop eax
shl eax, 5
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x4a
push 1
pop eax
imul eax, eax, 0x21
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x55
push 1
pop eax
imul eax, eax, 0x22
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x45
push 1
pop eax
imul eax, eax, 0x23
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x44
push 1
pop eax
imul eax, eax, 0x24
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x46
push 1
pop eax
imul eax, eax, 0x25
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x46
push 1
pop eax
imul eax, eax, 0x26
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x56
push 1
pop eax
imul eax, eax, 0x27
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x4c
push 1
pop eax
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x4e
push 1
pop eax
imul eax, eax, 0x29
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x58
push 1
pop eax
imul eax, eax, 0x2a
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x49
push 1
pop eax
imul eax, eax, 0x2b
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x49
push 1
pop eax
imul eax, eax, 0x2c
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x55
push 1
pop eax
imul eax, eax, 0x2d
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x59
cmp dword [0x45236c], 0
jne 0x44a09f
push 0x45236c
push 0x401bac
call fcn.004017d2
mov dword [ebp - 0xac], 0x45236c
jmp 0x44a0a9
mov dword [ebp - 0xac], 0x45236c
mov eax, dword [ebp - 0xac]
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x78]
push eax
push dword [ebp + 0xc]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
push dword [ebp - 0x84]
call dword [eax + 0x2c]
fnclex
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jge 0x44a100
push 0x2c
push 0x4122a0
push dword [ebp - 0x84]
push dword [ebp - 0x88]
call fcn.004016d6
mov dword [ebp - 0xb0], eax
jmp 0x44a107
and dword [ebp - 0xb0], 0
push 0
mov eax, dword [ebp - 0x78]
cdq
idiv dword [0x452324]
sub eax, dword [0x452368]
push eax
push 1
push 0x11
push dword [ebp + 0x10]
push 1
push 0x80
call fcn.0040177e
add esp, 0x1c
cmp dword [0x45236c], 0
jne 0x44a154
push 0x45236c
push 0x401bac
call fcn.004017d2
mov dword [ebp - 0xb4], 0x45236c
jmp 0x44a15e
mov dword [ebp - 0xb4], 0x45236c
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x78]
push eax
push dword [ebp + 0xc]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
push dword [ebp - 0x84]
call dword [eax + 0x2c]
fnclex
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jge 0x44a1b5
push 0x2c
push 0x4122a0
push dword [ebp - 0x84]
push dword [ebp - 0x88]
call fcn.004016d6
mov dword [ebp - 0xb8], eax
jmp 0x44a1bc
and dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x98], eax
mov eax, dword [0x452324]
mov dword [ebp - 0x94], eax
mov eax, dword [0x452368]
mov dword [ebp - 0x4c], eax
jmp 0x44a1e6
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x94]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x94]
sar eax, 0x1f
xor eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x94]
sar ecx, 0x1f
xor ecx, dword [ebp - 0x98]
cmp eax, ecx
jg 0x44a5af
cmp dword [0x45236c], 0
jne 0x44a22d
push 0x45236c
push 0x401bac
call fcn.004017d2
mov dword [ebp - 0xbc], 0x45236c
jmp 0x44a237
mov dword [ebp - 0xbc], 0x45236c
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x74], 0x4003
lea eax, [ebp - 0x50]
push eax
push 0x452368
lea eax, [ebp - 0x74]
push eax
push dword [ebp + 0xc]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
push dword [ebp - 0x84]
call dword [eax + 0x28]
fnclex
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jge 0x44a2a4
push 0x28
push 0x4122a0
push dword [ebp - 0x84]
push dword [ebp - 0x88]
call fcn.004016d6
mov dword [ebp - 0xc0], eax
jmp 0x44a2ab
and dword [ebp - 0xc0], 0
cmp dword [0x45236c], 0
jne 0x44a2cf
push 0x45236c
push 0x401bac
call fcn.004017d2
mov dword [ebp - 0xc4], 0x45236c
jmp 0x44a2d9
mov dword [ebp - 0xc4], 0x45236c
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xa4], eax
and dword [ebp - 0x50], 0
mov edx, dword [ebp - 0xa4]
lea ecx, [ebp - 0x54]
call fcn.004017b4
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
push dword [ebp - 0x8c]
call dword [eax + 0x24]
fnclex
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
jge 0x44a34c
push 0x24
push 0x4122a0
push dword [ebp - 0x8c]
push dword [ebp - 0x90]
call fcn.004016d6
mov dword [ebp - 0xc8], eax
jmp 0x44a353
and dword [ebp - 0xc8], 0
mov eax, dword [0x4522b4]
add eax, dword [0x4523e0]
add eax, dword [0x4521b0]
mov dword [ebp - 0xcc], eax
fild dword [ebp - 0xcc]
fstp qword [ebp - 0xd4]
fld qword [ebp - 0x80]
fsub qword [ebp - 0xd4]
call fcn.0040173c
mov byte [ebp - 0x48], al
lea ecx, [ebp - 0x54]
call fcn.004017ba
cmp dword [0x45236c], 0
jne 0x44a3b3
push 0x45236c
push 0x401bac
call fcn.004017d2
mov dword [ebp - 0xd8], 0x45236c
jmp 0x44a3bd
mov dword [ebp - 0xd8], 0x45236c
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x4c]
add eax, dword [0x452368]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x64], 3
lea eax, [ebp - 0x50]
push eax
push 0x452368
lea eax, [ebp - 0x64]
push eax
push dword [ebp + 0xc]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
push dword [ebp - 0x84]
call dword [eax + 0x28]
fnclex
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jge 0x44a430
push 0x28
push 0x4122a0
push dword [ebp - 0x84]
push dword [ebp - 0x88]
call fcn.004016d6
mov dword [ebp - 0xdc], eax
jmp 0x44a437
and dword [ebp - 0xdc], 0
cmp dword [0x45236c], 0
jne 0x44a45b
push 0x45236c
push 0x401bac
call fcn.004017d2
mov dword [ebp - 0xe0], 0x45236c
jmp 0x44a465
mov dword [ebp - 0xe0], 0x45236c
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xa8], eax
and dword [ebp - 0x50], 0
mov edx, dword [ebp - 0xa8]
lea ecx, [ebp - 0x54]
call fcn.004017b4
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax]
push dword [ebp - 0x8c]
call dword [eax + 0x24]
fnclex
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
jge 0x44a4d8
push 0x24
push 0x4122a0
push dword [ebp - 0x8c]
push dword [ebp - 0x90]
call fcn.004016d6
mov dword [ebp - 0xe4], eax
jmp 0x44a4df
and dword [ebp - 0xe4], 0
mov eax, dword [0x4522b4]
add eax, dword [0x4523e0]
add eax, dword [0x4521b0]
mov dword [ebp - 0xe8], eax
fild dword [ebp - 0xe8]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0x80]
fsub qword [ebp - 0xf0]
call fcn.0040173c
mov byte [ebp - 0x34], al
lea ecx, [ebp - 0x54]
call fcn.004017ba
lea ecx, [ebp - 0x64]
call fcn.004016d0
movzx eax, byte [ebp - 0x48]
mov ecx, dword [0x452360]
add ecx, dword [0x452368]
cmp eax, ecx
jle 0x44a54c
movzx eax, byte [ebp - 0x48]
mov ecx, dword [0x4521a0]
add ecx, dword [0x4521b0]
sub eax, ecx
mov byte [ebp - 0x48], al
movzx eax, byte [ebp - 0x34]
mov ecx, dword [0x452360]
add ecx, dword [0x452368]
cmp eax, ecx
jle 0x44a575
movzx eax, byte [ebp - 0x34]
mov ecx, dword [0x4521a0]
add ecx, dword [0x4521b0]
sub eax, ecx
mov byte [ebp - 0x34], al
movzx ecx, byte [ebp - 0x48]
mov eax, dword [0x4523e0]
add eax, dword [0x452368]
imul ecx, eax
movzx eax, byte [ebp - 0x34]
or ecx, eax
mov eax, dword [ebp + 0x10]
mov esi, dword [eax]
mov eax, dword [ebp - 0x4c]
cdq
idiv dword [0x452324]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
sub eax, dword [edx + 0x14]
mov edx, dword [esi + 0xc]
mov byte [edx + eax], cl
jmp 0x44a1da
cmp dword [0x45236c], 0
jne 0x44a5d3
push 0x45236c
push 0x401bac
call fcn.004017d2
mov dword [ebp - 0xf4], 0x45236c
jmp 0x44a5dd
mov dword [ebp - 0xf4], 0x45236c
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
push eax
push dword [ebp + 0x10]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
push dword [ebp - 0x84]
call dword [eax + 0x44]
fnclex
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jge 0x44a63a
push 0x44
push 0x4122a0
push dword [ebp - 0x84]
push dword [ebp - 0x88]
call fcn.004016d6
mov dword [ebp - 0xf8], eax
jmp 0x44a641
and dword [ebp - 0xf8], 0
wait
push 0x44a688
jmp 0x44a676
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
push eax
push 0
call fcn.0040176c
ret