Function at 0x4e4c70
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x2d8
push esi
push edi
mov dword [ebp - 0x3c], 0
call fcn.004e6d80
and dword [0x74d708], 0xfffffff5
xorps xmm0, xmm0
mov eax, dword [0x748480]
movlpd qword [ebp - 0x128], xmm0
mov dword [ebp - 0x12c], 0x74d730
cmp eax, 6
ja case.default.0x4e4cc0
jmp dword [eax*4 + 0x4e6bb8]
lea ecx, [ebp - 0x12c]
call fcn.004e3400
test al, al
jne case.default.0x4e4cc0
call fcn.004e6d80
xor edx, edx
push 0
lea ecx, [edx + 0xa]
call fcn.00412370
add esp, 4
test al, al
je case.0x4e4cc0.4
lea ecx, [ebp - 0x12c]
call fcn.004e45a0
test al, al
jne case.default.0x4e4cc0
call fcn.004e6d80
lea ecx, [ebp - 0x12c]
call fcn.004e2ab0
mov esi, dword [0x74d734]
mov edi, dword [0x74d730]
cmp edi, esi
je 0x4e4d83
lea edx, [edi + 0x2c]
cmp dword [edx], 0xf
lea ecx, [edx - 0x14]
mov eax, dword [edx - 4]
jbe 0x4e4d31
add eax, dword [ecx]
mov ecx, dword [ecx]
jmp 0x4e4d33
add eax, ecx
cmp ecx, eax
je 0x4e4d44
cmp byte [ecx], 0x5c
jne 0x4e4d3f
mov byte [ecx], 0x2f
inc ecx
cmp ecx, eax
jne 0x4e4d37
cmp dword [edx + 0x30], 0xf
lea ecx, [edx + 0x1c]
mov eax, dword [edx + 0x2c]
jbe 0x4e4d56
add eax, dword [ecx]
mov ecx, dword [ecx]
jmp 0x4e4d58
add eax, ecx
cmp ecx, eax
je 0x4e4d6d
nop dword [eax]
cmp byte [ecx], 0x5c
jne 0x4e4d68
mov byte [ecx], 0x2f
inc ecx
cmp ecx, eax
jne 0x4e4d60
add edx, 0x68
lea eax, [edx - 0x2c]
cmp eax, esi
jne 0x4e4d20
mov esi, dword [0x74d734]
mov edi, dword [0x74d730]
mov eax, dword [0x748480]
cmp eax, 2
je 0x4e4d96
cmp eax, 3
jne 0x4e5237
cmp edi, esi
je 0x4e5237
cmp eax, 2
mov edx, esi
mov ecx, edi
mov eax, esi
jne 0x4e4f6c
sub eax, edi
sar eax, 3
imul eax, eax, 0xc4ec4ec5
push 0x4e25e0
push eax
call fcn.004e7910
mov esi, dword [0x74d734]
add esp, 8
mov edi, dword [0x74d730]
mov eax, esi
sub eax, edi
mov dword [ebp - 0x44], 0
sar eax, 3
imul eax, eax, 0xc4ec4ec5
test eax, eax
je 0x4e5237
xor esi, esi
mov dword [ebp - 4], esi
jmp 0x4e4df8
mov esi, dword [ebp - 4]
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x2a0], 0x720528
mov dword [ebp - 0x290], 0x720520
call fcn.0040d540
or dword [ebp - 0x3c], 2
lea eax, [ebp - 0x288]
push ecx
push eax
lea ecx, [ebp - 0x2a0]
call fcn.0040d420
mov eax, dword [ebp - 0x2a0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x2a0], 0x720530
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x2a4], eax
lea ecx, [ebp - 0x288]
call fcn.0040de20
mov edx, str.MonitorPositionL
mov dword [ebp - 0x288], 0x720534
lea ecx, [ebp - 0x290]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
call fcn.0040e220
push dword [ebp - 0x44]
mov ecx, eax
call fcn.00428020
mov edx, 0x734740
mov ecx, eax
call fcn.0040e220
lea eax, [ebp - 0x2d8]
push eax
lea ecx, [ebp - 0x288]
call fcn.0040d4a0
add esi, 0x18
lea eax, [ebp - 0x2d8]
add esi, edi
cmp esi, eax
je 0x4e4eda
mov ecx, esi
call fcn.004143d0
lea eax, [ebp - 0x2d8]
mov ecx, esi
push eax
call fcn.00413f50
lea ecx, [ebp - 0x2d8]
call fcn.004143d0
mov eax, dword [ebp - 0x2a0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x2a0], 0x720530
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x2a4], eax
lea ecx, [ebp - 0x288]
call fcn.00411c90
lea ecx, [ebp - 0x280]
call fcn.0040bec0
lea eax, [ebp - 0x238]
mov dword [ebp - 0x238], 0x720770
push eax
call fcn.005acc4d
mov esi, dword [0x74d734]
add esp, 4
mov edi, dword [0x74d730]
mov eax, esi
mov ecx, dword [ebp - 0x44]
sub eax, edi
add dword [ebp - 4], 0x68
inc ecx
sar eax, 3
imul eax, eax, 0xc4ec4ec5
mov dword [ebp - 0x44], ecx
cmp ecx, eax
jb 0x4e4df5
jmp 0x4e5237
sub eax, edi
sar eax, 3
imul eax, eax, 0xc4ec4ec5
push 0x4e25c0
push eax
call fcn.004e7910
mov edi, dword [0x74d730]
xor ecx, ecx
mov esi, dword [0x74d734]
add esp, 8
xor edx, edx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], edi
mov eax, dword [edi]
mov dword [ebp - 0x34], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x44], eax
mov eax, esi
sub eax, edi
mov dword [ebp - 0x7c], esi
sar eax, 3
imul eax, eax, 0xc4ec4ec5
cmp eax, 1
jbe 0x4e501a
dec eax
lea esi, [edi + 0x6c]
mov dword [ebp - 8], eax
lea edi, [edx + 1]
mov eax, dword [ebp - 0x34]
cmp dword [esi - 4], eax
mov eax, dword [esi]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x6c], edx
je 0x4e4ffa
mov ecx, dword [esi - 4]
mov edi, 1
mov dword [ebp - 0x34], ecx
mov ecx, edx
mov dword [ebp - 0x44], eax
mov eax, dword [esi - 4]
test eax, eax
lea edx, [ecx + 1]
cmovns edx, ecx
xor ecx, ecx
test eax, eax
cmovns ecx, dword [ebp - 0x68]
jmp 0x4e5008
cmp eax, dword [ebp - 0x44]
je 0x4e5008
test eax, eax
mov dword [ebp - 0x44], eax
cmove ecx, edi
inc edi
add esi, 0x68
sub dword [ebp - 8], 1
jne 0x4e4fc5
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 0x7c]
mov dword [ebp - 8], ecx
mov eax, dword [edi]
mov dword [ebp - 0x64], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x44], eax
mov eax, esi
sub eax, edi
mov dword [ebp - 4], 0
sar eax, 3
imul eax, eax, 0xc4ec4ec5
mov dword [ebp - 0x8c], 0
test eax, eax
je 0x4e5237
neg edx
xor eax, eax
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x4c], eax
mov esi, dword [eax + edi]
mov eax, dword [eax + edi + 4]
cmp esi, dword [ebp - 0x64]
je 0x4e5072
inc edx
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x34], edx
mov dword [ebp - 4], eax
jmp 0x4e5086
cmp eax, dword [ebp - 0x44]
je 0x4e5083
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
jmp 0x4e5086
mov eax, dword [ebp - 4]
mov esi, eax
mov dword [ebp - 0x2a0], 0x720528
sub esi, ecx
mov dword [ebp - 0x290], 0x720520
lea ecx, [ebp - 0x238]
call fcn.0040d540
or dword [ebp - 0x3c], 1
lea eax, [ebp - 0x288]
push ecx
push eax
lea ecx, [ebp - 0x2a0]
call fcn.0040d420
mov eax, dword [ebp - 0x2a0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x2a0], 0x720530
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x2a4], eax
lea ecx, [ebp - 0x288]
call fcn.0040de20
mov edx, str.MonitorPositionL
mov dword [ebp - 0x288], 0x720534
lea ecx, [ebp - 0x290]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
call fcn.0040e220
push dword [ebp - 0x34]
mov ecx, eax
call fcn.00428020
mov edx, 0x73474c
mov ecx, eax
call fcn.0040e220
push esi
mov ecx, eax
call fcn.00428020
lea eax, [ebp - 0x170]
push eax
lea ecx, [ebp - 0x288]
call fcn.0040d4a0
mov esi, dword [ebp - 0x4c]
lea eax, [ebp - 0x170]
add esi, 0x18
add esi, edi
cmp esi, eax
je 0x4e519b
mov ecx, esi
call fcn.004143d0
movups xmm0, xmmword [ebp - 0x170]
mov byte [ebp - 0x170], 0
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 0x160]
movq qword [esi + 0x10], xmm0
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0xf
lea ecx, [ebp - 0x170]
call fcn.004143d0
mov eax, dword [ebp - 0x2a0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x2a0], 0x720530
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x2a4], eax
lea ecx, [ebp - 0x288]
call fcn.00411c90
lea ecx, [ebp - 0x280]
call fcn.0040bec0
lea eax, [ebp - 0x238]
mov dword [ebp - 0x238], 0x720770
push eax
call fcn.005acc4d
mov esi, dword [0x74d734]
add esp, 4
mov edi, dword [0x74d730]
mov eax, esi
mov ecx, dword [ebp - 0x8c]
sub eax, edi
add dword [ebp - 0x4c], 0x68
inc ecx
mov edx, dword [ebp - 0x34]
sar eax, 3
imul eax, eax, 0xc4ec4ec5
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x4c]
jb 0x4e5055
mov eax, esi
mov edx, esi
sub eax, edi
mov ecx, edi
sar eax, 3
imul eax, eax, 0xc4ec4ec5
push 0x4e2590
push eax
call fcn.004e7910
mov eax, dword [ebp - 0x128]
add esp, 8
mov esi, dword [0x74d734]
mov ecx, dword [0x74d730]
cdq
mov edi, eax
mov eax, dword [ebp - 0x124]
xor edi, edx
sub edi, edx
cdq
xor eax, edx
sub eax, edx
mov dword [ebp - 0x6c], eax
cmp ecx, esi
je 0x4e532c
lea edx, [ecx + 4]
nop dword [eax + eax]
mov eax, dword [edx - 4]
lea edx, [edx + 0x68]
mov ecx, dword [edx - 0x68]
mov dword [edx - 0x5c], eax
add eax, edi
mov dword [edx - 0x6c], eax
mov eax, dword [ebp - 0x6c]
add eax, ecx
mov dword [edx - 0x58], ecx
mov dword [edx - 0x68], eax
lea eax, [edx - 4]
cmp eax, esi
jne 0x4e5290
mov esi, dword [0x74d734]
mov ecx, dword [0x74d730]
cmp ecx, esi
je 0x4e532c
mov eax, dword [ecx + 8]
cmp eax, 0x20
jle 0x4e5308
cmp eax, 0x4000
jg 0x4e5308
mov eax, dword [ecx + 0xc]
cmp eax, 0x20
jle 0x4e5308
cmp eax, 0x4000
jg 0x4e5308
mov eax, dword [ecx + 0x10]
cmp eax, 0xffffc000
jl 0x4e5308
cmp eax, 0x4000
jg 0x4e5308
mov eax, dword [ecx + 0x14]
cmp eax, 0xffffc000
jl 0x4e5308
cmp eax, 0x4000
jg 0x4e5308
add ecx, 0x68
jmp 0x4e5322
push ecx
lea eax, [ebp - 0x130]
mov ecx, 0x74d730
push eax
call fcn.004e6db0
mov esi, dword [0x74d734]
mov ecx, dword [eax]
cmp ecx, esi
jne 0x4e52c3
mov ecx, dword [0x74d730]
cmp dword [0x748480], 0
jne 0x4e6a62
cmp ecx, esi
je 0x4e6a62
lea ecx, [ebp - 0x150]
call fcn.00438990
lea ecx, [ebp - 0x2c0]
call fcn.00438990
mov eax, dword [0x74d734]
lea ecx, [ebp - 0xfc]
sub eax, dword [0x74d730]
sar eax, 3
imul eax, eax, 0xc4ec4ec5
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0x4c], 0
push eax
call fcn.004e6f70
mov eax, dword [0x74d734]
mov edi, dword [0x74d730]
sub eax, edi
sar eax, 3
imul eax, eax, 0xc4ec4ec5
mov dword [ebp - 8], 0
test eax, eax
je 0x4e55e4
xor esi, esi
mov dword [ebp - 0x34], esi
mov ecx, dword [ebp - 0x34]
add esi, 0x18
add ecx, 0x30
add esi, edi
add ecx, edi
cmp ecx, esi
je 0x4e53ea
cmp dword [esi + 0x14], 0xf
mov eax, esi
jbe 0x4e53e1
mov eax, dword [esi]
push dword [esi + 0x10]
push eax
call fcn.0040c060
mov dword [esi + 0x10], 0
cmp dword [esi + 0x14], 0xf
jbe 0x4e53f9
mov esi, dword [esi]
mov byte [esi], 0
mov esi, dword [ebp - 0x34]
lea eax, [esi + 0x30]
add eax, edi
cmp dword [eax + 0x14], 0xf
lea ecx, [eax + 0x10]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ecx]
jbe 0x4e5418
add ecx, dword [eax]
mov eax, dword [eax]
jmp 0x4e541a
add ecx, eax
push ecx
push eax
mov ecx, 0x74cfe0
call fcn.00466230
test eax, eax
je 0x4e55ae
mov ecx, dword [ebp - 0x34]
lea eax, [esi + 0x30]
add eax, edi
mov ecx, dword [ecx]
cmp dword [eax + 0x14], 0xf
jbe 0x4e5444
add ecx, dword [eax]
mov eax, dword [eax]
jmp 0x4e5446
add ecx, eax
push ecx
push eax
mov ecx, 0x74cfe0
call fcn.00465fd0
cmp byte [eax + 8], 7
jne 0x4e55ae
push 0x720064
push str.location
mov ecx, eax
call fcn.00465fd0
movzx ecx, byte [eax + 8]
cmp ecx, 1
je 0x4e5484
cmp ecx, 2
je 0x4e5484
cmp ecx, 3
jne 0x4e55ae
mov ecx, eax
call fcn.004652e0
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.0043a9b0
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x150]
call fcn.004301e0
mov ecx, dword [ebp - 0x14c]
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 4]
push eax
cmp ecx, dword [ebp - 0x14c]
jne 0x4e5599
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x150]
call fcn.004e6c10
mov eax, dword [ebp - 4]
lea ecx, [ebp - 0xbb]
mov edx, eax
test eax, eax
jns 0x4e54f7
neg edx
call fcn.00440eb0
dec eax
mov byte [eax], 0x2d
jmp 0x4e54fc
call fcn.00440eb0
push ecx
lea ecx, [ebp - 0xbb]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.00440ee0
push 7
push str.Monitor
push 0
lea ecx, [ebp - 0x30]
call fcn.0042bd10
push eax
lea ecx, [ebp - 0x190]
call fcn.00413f80
add edi, 0x18
lea eax, [ebp - 0x190]
add edi, esi
cmp edi, eax
je 0x4e5572
mov ecx, edi
call fcn.004143d0
movups xmm0, xmmword [ebp - 0x190]
mov byte [ebp - 0x190], 0
movups xmmword [edi], xmm0
movq xmm0, qword [ebp - 0x180]
movq qword [edi + 0x10], xmm0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0xf
lea ecx, [ebp - 0x190]
call fcn.004143d0
lea ecx, [ebp - 0x30]
call fcn.004143d0
mov edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov dword [edx + ecx*4], eax
mov edx, dword [ebp - 0x4c]
jmp 0x4e55b8
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x2c0]
call fcn.004e6c10
mov edx, dword [ebp - 0x4c]
inc edx
jmp 0x4e55b1
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 8]
inc edx
mov dword [ebp - 0x4c], edx
mov eax, dword [0x74d734]
inc ecx
mov edi, dword [0x74d730]
add esi, 0x68
sub eax, edi
mov dword [ebp - 8], ecx
sar eax, 3
imul eax, eax, 0xc4ec4ec5
mov dword [ebp - 0x34], esi
cmp ecx, eax
jb 0x4e53c6
test edx, edx
jg 0x4e55f1
cmp dword [ebp - 0x2b8], 0
je 0x4e6a03
push 0x74cfe0
lea ecx, [ebp - 0x30]
call fcn.00464b00
push 0x74cff8
mov ecx, eax
call fcn.00464cb0
lea ecx, [ebp - 0x30]
call fcn.00465f40
mov eax, dword [ebp - 0x24]
xorps xmm0, xmm0
movlpd qword [ebp - 0x30], xmm0
test eax, eax
je 0x4e5627
push eax
call fcn.004672a0
cmp dword [ebp - 0x2b8], 0
je 0x4e5a3f
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x7c], eax
mov esi, dword [eax]
mov dword [ebp - 0x3c], esi
cmp esi, eax
je 0x4e5a3f
nop word [eax + eax]
push 0xc
mov dword [ebp - 0xe8], 0
call fcn.005ab82c
add esp, 4
lea ecx, [ebp - 0xe4]
mov dword [eax], eax
mov dword [eax + 4], eax
push eax
push 0x10
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 7
mov dword [ebp - 0xd4], 8
mov dword [ebp - 0xf0], 0x3f800000
call fcn.004299f0
mov ecx, dword [0x74d730]
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x34], eax
mov eax, dword [0x74d734]
sub eax, ecx
mov dword [ebp - 0x74], 0xffffffff
sar eax, 3
imul eax, eax, 0xc4ec4ec5
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x44], 0xffffffff
test eax, eax
je 0x4e5910
xor edx, edx
imul edi, edx, 0x68
add edi, 0x30
add edi, ecx
cmp dword [edi + 0x14], 0xf
mov eax, dword [edi + 0x10]
jbe 0x4e570d
add eax, dword [edi]
mov ecx, dword [edi]
jmp 0x4e5711
add eax, edi
mov ecx, edi
push eax
push ecx
mov ecx, 0x74cff8
call fcn.00466230
test eax, eax
je 0x4e58e6
cmp dword [edi + 0x14], 0xf
mov eax, dword [edi + 0x10]
jbe 0x4e5734
add eax, dword [edi]
mov edi, dword [edi]
jmp 0x4e5736
add eax, edi
push eax
push edi
mov ecx, 0x74cff8
call fcn.00465fd0
mov edi, eax
cmp byte [edi + 8], 7
jne 0x4e58e6
push 0x720064
push str.location
mov ecx, edi
call fcn.00465fd0
push 0x72134d
push str.timestamp
mov ecx, edi
mov dword [ebp - 0x6c], eax
call fcn.00465fd0
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x68], eax
movzx ecx, byte [edx + 8]
cmp ecx, 1
je 0x4e5790
cmp ecx, 2
je 0x4e5790
cmp ecx, 3
jne 0x4e58e6
movzx eax, byte [eax + 8]
cmp eax, 1
je 0x4e57a7
cmp eax, 2
je 0x4e57a7
cmp eax, 3
jne 0x4e58e6
mov ecx, edx
call fcn.004652e0
mov ecx, dword [ebp - 0x68]
mov edi, eax
call fcn.00465410
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xc], edx
cmp edi, dword [esi + 8]
jne 0x4e58e6
lea eax, [ebp - 0x34]
push eax
call fcn.0043a9b0
push eax
mov dword [ebp - 0x8c], eax
lea ecx, [ebp - 0xf0]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.004301e0
cmp dword [ebp - 0x5c], 0
jne 0x4e58c8
cmp dword [ebp - 0xe8], 0x15555555
je 0x4e6b9c
push 0xc
call fcn.005ab82c
mov edi, dword [ebp - 4]
add esp, 4
mov dword [ebp - 0x68], eax
add eax, 8
mov dword [ebp - 0x6c], eax
mov dword [eax], edi
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xd4]
inc ecx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x739f30]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebp - 0xf0]
jbe 0x4e58ae
lea ecx, [ebp - 0xf0]
call fcn.0043acb0
push dword [ebp - 0x8c]
lea eax, [ebp - 0x88]
push dword [ebp - 0x6c]
lea ecx, [ebp - 0xf0]
push eax
call fcn.004301e0
push dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push ecx
push dword [ebp - 0x8c]
mov dword [ebp - 0x60], ecx
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x5c], eax
call fcn.0040fa90
jmp 0x4e58cb
push dword [ebp - 0x68]
mov ecx, dword [ebp - 0x60]
push ecx
push dword [ebp - 0x8c]
lea ecx, [ebp - 0xf0]
call fcn.0040fa90
jmp 0x4e58cb
mov edi, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x44]
ja 0x4e58e6
mov eax, dword [ebp - 0x64]
jb 0x4e58dd
cmp eax, dword [ebp - 8]
jae 0x4e58e6
mov dword [ebp - 8], eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x74], edi
mov eax, dword [0x74d734]
mov ecx, dword [0x74d730]
sub eax, ecx
mov edi, dword [ebp - 4]
sar eax, 3
inc edi
imul eax, eax, 0xc4ec4ec5
mov edx, edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x34], edi
cmp edx, eax
jb 0x4e56f6
mov edi, dword [ebp - 0xec]
mov esi, dword [edi]
cmp esi, edi
je 0x4e5a23
mov edx, dword [esi + 8]
imul eax, edx, 0x68
mov dword [ebp - 0x68], edx
add eax, ecx
mov dword [ebp - 0x6c], eax
cmp edx, dword [ebp - 0x74]
jne 0x4e59fd
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0xbb]
mov edx, dword [eax + 8]
test edx, edx
jns 0x4e5954
neg edx
call fcn.00440eb0
dec eax
mov byte [eax], 0x2d
jmp 0x4e5959
call fcn.00440eb0
push ecx
lea ecx, [ebp - 0xbb]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.00440ee0
push 7
push str.Monitor
push 0
lea ecx, [ebp - 0x30]
call fcn.0042bd10
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00413f80
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x1b0]
add eax, 0x18
mov dword [ebp - 0x6c], eax
cmp eax, ecx
je 0x4e59d6
mov ecx, eax
call fcn.004143d0
movups xmm0, xmmword [ebp - 0x1b0]
mov eax, dword [ebp - 0x6c]
mov byte [ebp - 0x1b0], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x1a0]
movq qword [eax + 0x10], xmm0
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0xf
lea ecx, [ebp - 0x1b0]
call fcn.004143d0
lea ecx, [ebp - 0x30]
call fcn.004143d0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0xfc]
mov eax, dword [eax + 8]
mov dword [edx + ecx*4], eax
jmp 0x4e5a12
add eax, 0x18
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0xf
jbe 0x4e5a0f
mov eax, dword [eax]
mov byte [eax], 0
mov esi, dword [esi]
cmp esi, edi
je 0x4e5a23
mov ecx, dword [0x74d730]
jmp 0x4e5920
lea ecx, [ebp - 0xf0]
call fcn.00435d60
mov esi, dword [ebp - 0x3c]
mov esi, dword [esi]
mov dword [ebp - 0x3c], esi
cmp esi, dword [ebp - 0x7c]
jne 0x4e5650
mov esi, dword [0x74d730]
xor eax, eax
mov edi, dword [0x74d734]
mov ecx, esi
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x10c], eax
mov eax, edi
sub eax, ecx
mov dword [ebp - 0x114], 0
sar eax, 3
imul eax, eax, 0xc4ec4ec5
mov dword [ebp - 0x110], 0
mov dword [ebp - 0xc], ecx
test eax, eax
je 0x4e5aa2
push ecx
push eax
lea ecx, [ebp - 0x114]
call fcn.004e8050
mov eax, dword [ebp - 0x10c]
mov edi, dword [0x74d734]
mov esi, dword [0x74d730]
mov dword [ebp - 0x6c], eax
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x68], edx
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
cmp esi, edi
je 0x4e5b25
add esi, 0x10
nop dword [eax + eax]
push dword [esi]
push ecx
push eax
call fcn.005aedc0
mov ecx, dword [ebp - 0x3c]
cmp eax, ecx
jne 0x4e5b15
push esi
lea ecx, [ebp - 0x9c]
call fcn.00415af0
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x3c], ecx
add esi, 0x68
lea eax, [esi - 0x10]
cmp eax, edi
mov eax, dword [ebp - 0x9c]
jne 0x4e5af0
mov esi, ecx
mov byte [ebp - 0x7c], 0
push dword [ebp - 0x7c]
sub esi, eax
mov edx, ecx
sar esi, 2
mov ecx, eax
push esi
call fcn.004e8eb0
add esp, 8
test esi, esi
je 0x4e5b86
push ecx
push esi
lea ecx, [ebp - 0xa8]
call fcn.004e7e70
push esi
lea ecx, [ebp - 0x120]
call fcn.004e6f70
mov edx, dword [ebp - 0x9c]
xor eax, eax
xor edi, edi
cmp dword [edx + eax*4], 0
cmove edi, eax
inc eax
cmp eax, esi
jb 0x4e5b67
mov eax, dword [ebp - 0xa0]
xor ecx, ecx
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x68], eax
jmp 0x4e5bb0
push esi
lea ecx, [ebp - 0x120]
call fcn.004e6f70
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov edx, dword [ebp - 0x9c]
sub eax, edx
sar eax, 2
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x7c], ecx
test eax, eax
je 0x4e5d02
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0xa8]
sub eax, edx
sar eax, 2
add esi, 4
mov dword [ebp - 0x5c], eax
mov dword [ebp - 8], esi
nop word [eax + eax]
mov eax, dword [0x74d734]
mov edi, dword [0x74d730]
mov dword [ebp - 0x84], eax
cmp edi, eax
je 0x4e5cef
add edi, 0x14
nop dword [eax]
mov eax, dword [edi - 4]
cmp eax, dword [edx + ecx*4]
jne 0x4e5cdd
mov edx, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x8c], edx
cmp edx, ecx
je 0x4e5c17
mov eax, dword [edi]
mov dword [edx], eax
add dword [esi], 4
jmp 0x4e5cd4
lea eax, [esi - 4]
mov dword [ebp - 0x74], eax
mov eax, edx
mov esi, dword [ebp - 0x74]
mov edx, dword [esi]
sub eax, edx
mov esi, dword [ebp - 8]
sar eax, 2
mov dword [ebp - 0x74], eax
cmp eax, 0x3fffffff
je 0x4e6ba6
sub ecx, edx
inc eax
sar ecx, 2
mov dword [ebp - 0x34], eax
mov edx, ecx
shr edx, 1
mov eax, 0x3fffffff
sub eax, edx
cmp ecx, eax
jbe 0x4e5c59
mov eax, 0x3fffffff
jmp 0x4e5c63
lea eax, [edx + ecx]
cmp eax, dword [ebp - 0x34]
cmovb eax, dword [ebp - 0x34]
lea edx, [ebp - 4]
mov dword [ebp - 0x64], eax
mov dword [ebp - 4], eax
call fcn.0042c790
mov edx, dword [ebp - 0x74]
mov ecx, dword [edi]
mov dword [ebp - 4], eax
mov dword [eax + edx*4], ecx
mov ecx, dword [esi]
mov eax, dword [ebp - 0x8c]
mov edx, dword [esi - 4]
cmp eax, ecx
jne 0x4e5c95
sub ecx, edx
push ecx
mov ecx, dword [ebp - 4]
push edx
push ecx
jmp 0x4e5cbb
sub eax, edx
push eax
push edx
push dword [ebp - 4]
call fcn.005c3580
mov eax, dword [ebp - 0x74]
add esp, 0xc
mov ecx, dword [ebp - 4]
inc eax
lea edx, [ecx + eax*4]
mov eax, dword [esi]
mov ecx, dword [ebp - 0x8c]
sub eax, ecx
push eax
push ecx
push edx
call fcn.005c3580
add esp, 0xc
lea ecx, [esi - 4]
push dword [ebp - 0x64]
push dword [ebp - 0x34]
push dword [ebp - 4]
call fcn.0042cb00
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x44]
add edi, 0x68
lea eax, [edi - 0x14]
cmp eax, dword [ebp - 0x84]
jne 0x4e5bf0
inc ecx
add esi, 0xc
mov dword [ebp - 0x44], ecx
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x5c]
jb 0x4e5bd0
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa8]
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x84], eax
test eax, eax
je 0x4e5d9a
mov byte [ebp - 0x5c], 0
mov esi, ecx
mov dword [ebp - 0x74], ecx
mov edx, dword [esi + 4]
mov eax, edx
mov ecx, dword [esi]
sub eax, ecx
push dword [ebp - 0x5c]
sar eax, 2
push eax
call fcn.004e8eb0
mov edx, dword [esi]
add esp, 8
mov esi, dword [esi + 4]
xor ecx, ecx
sub esi, edx
sar esi, 2
test esi, esi
je 0x4e5d82
mov eax, dword [ebp - 0xc]
mov edi, dword [eax + 0x14]
cmp dword [edx], edi
jge 0x4e5d76
lea eax, [esi - 1]
cmp ecx, eax
je 0x4e5d76
inc ecx
add edx, 4
cmp ecx, esi
jb 0x4e5d61
jmp 0x4e5d82
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x120]
mov dword [edx + eax*4], ecx
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x74]
inc ecx
add esi, 0xc
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x74], esi
cmp ecx, dword [ebp - 0x84]
jb 0x4e5d33
mov eax, dword [0x74d734]
sub eax, dword [0x74d730]
sar eax, 3
imul eax, eax, 0xc4ec4ec5
mov dword [ebp - 0x74], 0
test eax, eax
je 0x4e5ea9
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x9c]
sub eax, esi
mov edi, dword [ebp - 0x114]
sar eax, 2
xor edx, edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], edx
mov dword [ebp - 0x44], edi
nop dword [eax]
mov eax, dword [0x74d730]
xor ecx, ecx
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x3c], ecx
jbe 0x4e5e79
mov eax, dword [edx + eax + 0x10]
mov edx, dword [ebp - 0x3c]
nop word [eax + eax]
cmp dword [esi + ecx*4], eax
je 0x4e5e0c
inc ecx
cmp ecx, edx
jb 0x4e5e00
jmp 0x4e5e79
mov esi, dword [ebp - 0xa8]
mov eax, ecx
sub eax, dword [ebp - 0x7c]
xor edx, edx
mov dword [edi], eax
lea eax, [ecx + ecx*2]
mov dword [edi + 8], ecx
mov edi, dword [ebp - 0xa8]
mov esi, dword [esi + eax*4]
mov eax, dword [edi + eax*4 + 4]
mov edi, dword [ebp - 0x44]
sub eax, esi
sar eax, 2
mov dword [ebp - 0x84], eax
test eax, eax
je 0x4e5e73
mov eax, dword [ebp - 4]
mov edi, dword [ebp - 0x5c]
mov edi, dword [eax + edi + 0x14]
mov eax, dword [ebp - 0x84]
cmp dword [esi], edi
je 0x4e5e61
inc edx
add esi, 4
cmp edx, eax
jb 0x4e5e50
mov edi, dword [ebp - 0x44]
jmp 0x4e5e73
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x120]
mov dword [edi + 0xc], edx
sub edx, dword [eax + ecx*4]
mov dword [edi + 4], edx
mov esi, dword [ebp - 0x9c]
mov eax, dword [0x74d734]
add edi, 0x10
sub eax, dword [0x74d730]
mov ecx, dword [ebp - 0x74]
add dword [ebp - 4], 0x68
inc ecx
mov edx, dword [ebp - 4]
sar eax, 3
imul eax, eax, 0xc4ec4ec5
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x44], edi
cmp ecx, eax
jb 0x4e5de0
cmp dword [ebp - 0x4c], 0
jle 0x4e6601
mov eax, dword [ebp - 0xc]
xor esi, esi
xor edi, edi
mov dword [ebp - 4], esi
mov ecx, 0x74cff8
mov dword [ebp - 0x108], edi
mov dword [ebp - 0x104], esi
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x64], eax
xor eax, eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0xdc]
push eax
call fcn.00466a30
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x8c], ecx
cmp ecx, dword [ebp - 0xd8]
je 0x4e623d
lea edx, [edi + 0x16]
cmp dword [ecx + 0x14], 0xf
xorps xmm0, xmm0
mov esi, dword [ecx + 0x10]
mov eax, ecx
movaps xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x7c], ecx
jbe 0x4e5f2e
mov eax, dword [ecx]
mov dword [ebp - 0x7c], eax
cmp esi, 0x7fffffff
ja 0x4e6bab
cmp esi, 0xf
ja 0x4e5f53
mov edi, 0xf
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], edi
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x30], xmm0
jmp 0x4e5f9e
mov eax, esi
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x4e5f66
mov eax, 0x7fffffff
jmp 0x4e5f6c
cmp eax, 0x16
cmovb eax, edx
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00414510
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
lea ecx, [esi + 1]
push ecx
push dword [ebp - 0x7c]
mov dword [ebp - 0x30], eax
push eax
mov dword [ebp - 0x20], esi
call fcn.005c3580
mov edi, dword [ebp - 0x1c]
add esp, 0x14
mov esi, dword [ebp - 0x20]
cmp edi, 0xf
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x30]
cmova ecx, dword [ebp - 0x30]
add ecx, esi
cmp edi, 0xf
push ecx
cmova eax, dword [ebp - 0x30]
mov ecx, 0x74cff8
push eax
call fcn.00465fd0
mov esi, eax
cmp byte [esi + 8], 7
je 0x4e6020
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
cmp eax, 0xf
cmova edx, ecx
cmp byte [0x74d000], 0
je 0x4e6010
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4e5fe5
sub ecx, esi
mov dword [ebp - 0x38], edx
lea eax, [ecx*4]
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x38]
mov ecx, dword [0x74cff8]
push eax
call fcn.00467050
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
cmp eax, 0xf
jbe 0x4e6214
push eax
push ecx
jmp 0x4e6208
push 0x720064
push str.location
mov ecx, esi
call fcn.00465fd0
push 0x73475c
push str.absx
mov ecx, esi
mov dword [ebp - 0x5c], eax
call fcn.00465fd0
push 0x734754
push str.absy
mov ecx, esi
mov edi, eax
call fcn.00465fd0
push 0x73476c
push str.relx
mov ecx, esi
mov dword [ebp - 0x7c], eax
call fcn.00465fd0
push 0x734764
push str.rely
mov ecx, esi
mov dword [ebp - 0x74], eax
call fcn.00465fd0
mov esi, dword [ebp - 0x5c]
mov edx, eax
mov dword [ebp - 0x84], edx
movzx ecx, byte [esi + 8]
cmp ecx, 1
je 0x4e609e
cmp ecx, 2
je 0x4e609e
cmp ecx, 3
jne 0x4e60f0
movzx eax, byte [edi + 8]
cmp eax, 1
je 0x4e60b1
cmp eax, 2
je 0x4e60b1
cmp eax, 3
jne 0x4e60f0
mov eax, dword [ebp - 0x7c]
movzx eax, byte [eax + 8]
cmp eax, 1
je 0x4e60c7
cmp eax, 2
je 0x4e60c7
cmp eax, 3
jne 0x4e60f0
mov eax, dword [ebp - 0x74]
movzx eax, byte [eax + 8]
cmp eax, 1
je 0x4e60dd
cmp eax, 2
je 0x4e60dd
cmp eax, 3
jne 0x4e60f0
movzx eax, byte [edx + 8]
cmp eax, 1
je 0x4e612f
cmp eax, 2
je 0x4e612f
cmp eax, 3
je 0x4e612f
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
cmp eax, 0xf
cmova edx, ecx
cmp byte [0x74d000], 0
je 0x4e6010
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4e6111
sub ecx, esi
mov dword [ebp - 0x48], edx
lea eax, [ecx*4]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x48]
jmp 0x4e5ffe
mov ecx, esi
call fcn.004652e0
mov esi, eax
lea eax, [ebp - 0xc]
push eax
mov dword [ebp - 0xc], esi
call fcn.0043a9b0
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x150]
call fcn.004301e0
mov ecx, dword [ebp - 0x14c]
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
cmp ecx, dword [ebp - 0x14c]
jne 0x4e61fc
mov ecx, edi
mov dword [ebp - 0xd0], esi
call fcn.004652e0
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0xc4], eax
call fcn.004652e0
mov ecx, dword [ebp - 0x74]
mov esi, eax
mov dword [ebp - 0xc0], esi
call fcn.004652e0
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0xcc], eax
call fcn.004652e0
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc8], eax
cmp ecx, dword [ebp - 8]
je 0x4e61d7
movups xmm0, xmmword [ebp - 0xd0]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], esi
add ecx, 0x14
mov dword [ebp - 4], ecx
mov dword [ebp - 0x104], ecx
jmp 0x4e61fc
lea eax, [ebp - 0xd0]
push eax
push ecx
lea ecx, [ebp - 0x108]
call fcn.004e7a30
mov eax, dword [ebp - 0x100]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0xf
jbe 0x4e6214
push eax
push dword [ebp - 0x30]
lea eax, [ebp - 0x30]
push eax
call fcn.00414390
add esp, 0xc
mov ecx, dword [ebp - 0x8c]
mov edx, 0x16
add ecx, 0x18
mov dword [ebp - 0x8c], ecx
cmp ecx, dword [ebp - 0xd8]
jne 0x4e5f06
mov edi, dword [ebp - 0x108]
mov esi, dword [ebp - 4]
lea ecx, [ebp - 0xdc]
call fcn.0040bf20
push dword [ebp - 0x130]
mov eax, esi
mov edx, esi
sub eax, edi
mov ecx, edi
sar eax, 2
imul eax, eax, 0xcccccccd
push eax
call fcn.004e7bc0
mov esi, dword [ebp - 0x14c]
add esp, 8
nop
cmp edi, dword [ebp - 4]
je 0x4e6465
mov eax, dword [edi + 0x10]
lea ecx, [edi + 0x14]
movups xmm0, xmmword [edi]
or esi, 0xffffffff
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xc0], eax
mov edx, 0x7fffffff
mov dword [ebp - 0x34], esi
mov esi, dword [ebp - 4]
mov eax, esi
sub eax, ecx
mov dword [ebp - 0x44], edx
push eax
push ecx
push edi
movups xmmword [ebp - 0xd0], xmm0
call fcn.005c3580
mov eax, dword [0x74d734]
sub esi, 0x14
mov edx, dword [0x74d730]
add esp, 0xc
sub eax, edx
mov dword [ebp - 4], esi
sar eax, 3
xor ecx, ecx
imul esi, eax, 0xc4ec4ec5
mov dword [ebp - 0x3c], esi
test esi, esi
je 0x4e65d0
lea esi, [edx + 0x28]
mov edi, dword [ebp - 0x114]
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x64], ecx
jne 0x4e6339
add edi, 0xc
nop
cmp dword [esi], 0
jne 0x4e632c
mov eax, dword [edi - 4]
sub eax, dword [ebp - 0xc4]
cdq
xor eax, edx
sub eax, edx
imul eax, eax, 0x64
mov dword [ebp - 0x84], eax
mov eax, dword [edi]
sub eax, dword [ebp - 0x60]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebp - 0x84]
add edx, eax
mov eax, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x44]
jge 0x4e632c
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x34], ecx
inc ecx
add esi, 0x68
add edi, 0x10
cmp ecx, eax
jb 0x4e62f0
jmp 0x4e6384
xor ecx, ecx
nop dword [eax + eax]
cmp dword [esi], 0
jne 0x4e6379
mov eax, dword [edi]
sub eax, dword [ebp - 0xcc]
cdq
xor eax, edx
sub eax, edx
imul eax, eax, 0x64
mov dword [ebp - 0x5c], eax
mov eax, dword [edi + 4]
sub eax, dword [ebp - 0xc8]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebp - 0x5c]
add edx, eax
mov eax, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x44]
jge 0x4e6379
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x34], ecx
inc ecx
add esi, 0x68
add edi, 0x10
cmp ecx, eax
jb 0x4e6340
mov esi, dword [ebp - 0x34]
test esi, esi
js 0x4e65d0
mov edi, dword [ebp - 0xd0]
lea ecx, [ebp - 0xd3]
imul eax, esi, 0x68
mov edx, edi
add eax, dword [0x74d730]
mov dword [ebp - 0xc], eax
test edi, edi
jns 0x4e63ba
neg edx
call fcn.00440eb0
dec eax
mov byte [eax], 0x2d
jmp 0x4e63bf
call fcn.00440eb0
push ecx
lea ecx, [ebp - 0xd3]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.00440ee0
push 7
push str.Monitor
push 0
lea ecx, [ebp - 0x30]
call fcn.0042bd10
push eax
lea ecx, [ebp - 0x1d0]
call fcn.00413f80
mov eax, dword [ebp - 0xc]
lea ecx, [ebp - 0x1d0]
add eax, 0x18
cmp eax, ecx
je 0x4e643a
mov ecx, eax
call fcn.004143d0
movups xmm0, xmmword [ebp - 0x1d0]
mov eax, dword [ebp - 0xc]
mov byte [ebp - 0x1d0], 0
movups xmmword [eax + 0x18], xmm0
movq xmm0, qword [ebp - 0x1c0]
movq qword [eax + 0x28], xmm0
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0xf
lea ecx, [ebp - 0x1d0]
call fcn.004143d0
lea ecx, [ebp - 0x30]
call fcn.004143d0
mov eax, dword [ebp - 0xfc]
mov dword [eax + esi*4], edi
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x80]
jmp 0x4e65c4
xor eax, eax
mov dword [ebp - 0x3c], eax
movzx eax, al
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [ebp - 0x3b]
xor ecx, eax
movzx eax, byte [ebp - 0x3a]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp - 0x39]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [ebp - 0x150]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.004301e0
mov ecx, esi
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
cmp ecx, esi
je 0x4e64c4
mov eax, dword [ebp - 0x3c]
inc eax
jmp 0x4e6467
mov eax, dword [0x74d734]
xor ecx, ecx
mov edx, dword [0x74d730]
sub eax, edx
sar eax, 3
imul eax, eax, 0xc4ec4ec5
mov dword [ebp - 0xc], ecx
test eax, eax
je 0x4e65d6
mov edi, edx
nop dword [eax]
cmp dword [edi + 0x28], 0
je 0x4e6506
inc ecx
add edi, 0x68
mov dword [ebp - 0xc], ecx
cmp ecx, eax
jb 0x4e64f0
jmp 0x4e65d6
mov esi, dword [ebp - 0x3c]
lea ecx, [ebp - 0xbb]
mov edx, esi
test esi, esi
jns 0x4e6522
neg edx
call fcn.00440eb0
dec eax
mov byte [eax], 0x2d
jmp 0x4e6527
call fcn.00440eb0
push ecx
lea ecx, [ebp - 0xbb]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.00440ee0
push 7
push str.Monitor
push 0
lea ecx, [ebp - 0x30]
call fcn.0042bd10
push eax
lea ecx, [ebp - 0x1f0]
call fcn.00413f80
add edi, 0x18
lea eax, [ebp - 0x1f0]
cmp edi, eax
je 0x4e659b
mov ecx, edi
call fcn.004143d0
movups xmm0, xmmword [ebp - 0x1f0]
mov byte [ebp - 0x1f0], 0
movups xmmword [edi], xmm0
movq xmm0, qword [ebp - 0x1e0]
movq qword [edi + 0x10], xmm0
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0xf
lea ecx, [ebp - 0x1f0]
call fcn.004143d0
lea ecx, [ebp - 0x30]
call fcn.004143d0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xfc]
mov dword [ecx + eax*4], esi
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x150]
call fcn.004e6c10
mov esi, dword [ebp - 0x14c]
sub dword [ebp - 0x4c], 1
mov edi, dword [ebp - 0x108]
jne 0x4e6270
mov ecx, edi
test ecx, ecx
je 0x4e6601
mov eax, dword [ebp - 8]
sub eax, ecx
sar eax, 2
imul eax, eax, 0xcccccccd
push eax
push ecx
call fcn.004e7060
or dword [0x74d708], 0x10
call fcn.005adb04
push 0
push 0x989680
push edx
push eax
call fcn.005ecd20
mov ecx, dword [0x74d734]
mov edi, dword [0x74d730]
sub ecx, edi
sar ecx, 3
imul ecx, ecx, 0xc4ec4ec5
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x34], 0
test ecx, ecx
je 0x4e6991
mov esi, dword [ebp - 0x114]
xor ecx, ecx
add esi, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], esi
nop dword [eax + eax]
lea eax, [edi + 0x30]
add eax, ecx
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x4e6674
add ecx, dword [eax]
mov eax, dword [eax]
jmp 0x4e6676
add ecx, eax
push ecx
push eax
mov ecx, 0x74cff8
call fcn.00465fd0
mov edi, eax
cmp byte [edi + 8], 7
je 0x4e6701
mov byte [ebp - 0x28], 7
and dword [ebp - 0x28], 0xfffffeff
push 8
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
call fcn.005ab82c
mov esi, eax
add esp, 4
push 0x30
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.005ab82c
add esp, 4
mov dword [ebp - 0x30], esi
lea ecx, [ebp - 0x30]
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
push edi
mov dword [esi], eax
call fcn.00464cb0
lea ecx, [ebp - 0x30]
call fcn.00465f40
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4e66fe
push eax
call fcn.004672a0
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x34]
push 0x720064
mov byte [ebp - 0x28], 1
and dword [ebp - 0x28], 0xfffffeff
mov eax, dword [ecx + eax*4]
mov ecx, edi
cdq
push str.location
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
call fcn.00465fd0
push eax
lea ecx, [ebp - 0x30]
call fcn.00464cb0
lea ecx, [ebp - 0x30]
call fcn.00465f40
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4e6763
push eax
call fcn.004672a0
push 0x72134d
push str.timestamp
mov ecx, edi
call fcn.00466230
test eax, eax
je 0x4e679c
push 0x72134d
push str.timestamp
mov ecx, edi
call fcn.00465fd0
movzx eax, byte [eax + 8]
cmp eax, 1
je 0x4e67fa
cmp eax, 2
je 0x4e67fa
cmp eax, 3
je 0x4e67fa
mov eax, dword [ebp - 0x5c]
mov ecx, edi
push 0x72134d
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x84]
mov byte [ebp - 0x28], 2
and dword [ebp - 0x28], 0xfffffeff
push str.timestamp
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x2c], eax
call fcn.00465fd0
push eax
lea ecx, [ebp - 0x30]
call fcn.00464cb0
lea ecx, [ebp - 0x30]
call fcn.00465f40
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4e67fa
push eax
call fcn.004672a0
mov eax, dword [esi - 4]
mov ecx, edi
cdq
push 0x73475c
mov byte [ebp - 0x28], 1
and dword [ebp - 0x28], 0xfffffeff
push str.absx
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
call fcn.00465fd0
push eax
lea ecx, [ebp - 0x30]
call fcn.00464cb0
lea ecx, [ebp - 0x30]
call fcn.00465f40
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4e6853
push eax
call fcn.004672a0
mov eax, dword [esi]
mov ecx, edi
cdq
push 0x734754
mov byte [ebp - 0x28], 1
and dword [ebp - 0x28], 0xfffffeff
push str.absy
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
call fcn.00465fd0
push eax
lea ecx, [ebp - 0x30]
call fcn.00464cb0
lea ecx, [ebp - 0x30]
call fcn.00465f40
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4e68ab
push eax
call fcn.004672a0
mov eax, dword [esi - 0xc]
mov ecx, edi
cdq
push 0x73476c
mov byte [ebp - 0x28], 1
and dword [ebp - 0x28], 0xfffffeff
push str.relx
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
call fcn.00465fd0
push eax
lea ecx, [ebp - 0x30]
call fcn.00464cb0
lea ecx, [ebp - 0x30]
call fcn.00465f40
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4e6904
push eax
call fcn.004672a0
mov eax, dword [esi - 8]
mov ecx, edi
cdq
push 0x734764
mov byte [ebp - 0x28], 1
and dword [ebp - 0x28], 0xfffffeff
push str.rely
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
call fcn.00465fd0
push eax
lea ecx, [ebp - 0x30]
call fcn.00464cb0
lea ecx, [ebp - 0x30]
call fcn.00465f40
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4e695d
push eax
call fcn.004672a0
mov eax, dword [0x74d734]
add esi, 0x10
mov edi, dword [0x74d730]
sub eax, edi
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xc]
inc edx
sar eax, 3
add ecx, 0x68
imul eax, eax, 0xc4ec4ec5
mov dword [ebp - 0x34], edx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], esi
cmp edx, eax
jb 0x4e6660
lea ecx, [ebp - 0x120]
call fcn.00427a90
mov edi, dword [ebp - 0xa8]
test edi, edi
je 0x4e69df
mov esi, edi
cmp esi, dword [ebp - 0xa4]
je 0x4e69ca
mov edi, dword [ebp - 0xa4]
mov ecx, esi
call fcn.00427a90
add esi, 0xc
cmp esi, edi
jne 0x4e69b6
mov edi, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x68]
sub eax, edi
sar eax, 2
imul eax, eax, 0xaaaaaaab
push eax
push edi
call fcn.004e70a0
lea ecx, [ebp - 0x9c]
call fcn.00427a90
mov eax, dword [ebp - 0x114]
test eax, eax
je 0x4e6a03
mov ecx, dword [ebp - 0x6c]
sub ecx, eax
sar ecx, 4
push ecx
push eax
call fcn.004e70e0
mov edx, dword [ebp - 0xfc]
test edx, edx
je 0x4e6a40
mov ecx, dword [ebp - 0xf4]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x4e6a36
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4e6bb0
push ecx
push edx
call fcn.005ab85c
add esp, 8
lea ecx, [ebp - 0x2c0]
call fcn.00435d60
lea ecx, [ebp - 0x150]
call fcn.00435d60
mov esi, dword [0x74d734]
mov ecx, dword [0x74d730]
cmp dword [0x74d70c], 0
je 0x4e6b93
cmp ecx, esi
je 0x4e6b93
mov eax, esi
sub eax, ecx
sar eax, 3
imul edi, eax, 0xc4ec4ec5
mov dword [ebp - 0x5c], edi
cmp edi, 1
jbe 0x4e6ab6
lea eax, [ecx + 0x68]
mov dword [ebp - 0x5c], eax
mov edi, eax
cmp eax, esi
je 0x4e6b38
nop dword [eax]
mov ecx, edi
call fcn.004e29d0
add edi, 0x68
cmp edi, esi
jne 0x4e6aa0
mov eax, dword [ebp - 0x5c]
jmp 0x4e6b38
jae 0x4e6b3d
mov eax, dword [0x74d738]
sub eax, ecx
sar eax, 3
imul ecx, eax, 0xc4ec4ec5
cmp ecx, 1
jae 0x4e6b26
mov eax, ecx
lea edx, [ebp - 0x6c]
shr eax, 1
mov esi, 1
add eax, ecx
cmp eax, esi
cmovb eax, esi
mov dword [ebp - 0x6c], eax
call fcn.004e8320
sub esi, dword [ebp - 0x5c]
mov edi, eax
push ecx
imul ecx, dword [ebp - 0x5c], 0x68
mov edx, esi
add ecx, edi
call fcn.004e81c0
mov edx, dword [0x74d734]
mov ecx, dword [0x74d730]
push edi
call fcn.004e8370
add esp, 8
mov ecx, 0x74d730
push dword [ebp - 0x6c]
push 1
push edi
call fcn.004e8240
jmp 0x4e6b3d
push ecx
mov edx, 1
mov ecx, esi
sub edx, edi
call fcn.004e81c0
add esp, 4
mov dword [0x74d734], eax
lea eax, [ebp - 0xe0]
push eax
push dword [0x74d70c]
call dword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x4e6b93
mov ecx, dword [0x74d730]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov eax, dword [ebp - 0xd8]
sub eax, dword [ebp - 0xe0]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0xdc]
mov dword [ecx + 0xc], eax
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push str.unordered_map_set_too_long
call fcn.005acb94
call fcn.00410570
call fcn.00414440
call fcn.005c695f
nop dword [eax]
invalid