Function at 0x49b8e0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6cdeab
mov eax, dword fs:[0]
push eax
sub esp, 0x4dc
mov eax, dword [0x75aa5c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4b4], ecx
cmp dword [ebp + 8], 0
je 0x49b935
cmp dword [ebp + 0xc], 0
je 0x49b935
cmp dword [ebp + 0x1c], 0
je 0x49b935
cmp dword [ebp + 0x20], 0
je 0x49b935
cmp dword [ebp + 0x24], 0
je 0x49b935
cmp dword [ebp + 0x28], 0
jne 0x49b93d
or eax, 0xffffffff
jmp 0x49c1cf
mov eax, dword [ebp - 0x4b4]
mov cl, byte [ebp + 0x2c]
mov byte [eax + 0xe1], cl
mov edx, dword [ebp - 0x4b4]
mov eax, dword [ebp + 0x30]
mov dword [edx], eax
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp - 0x4b4]
add ecx, 0x3c
call fcn.00405460
push 0x6fa744
mov ecx, dword [ebp - 0x4b4]
add ecx, 0x3c
call fcn.0040bb20
mov edx, dword [ebp + 0x28]
push edx
mov ecx, dword [ebp - 0x4b4]
add ecx, 0x20
call fcn.00405460
call fcn.0041f930
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x49b9ae
mov dword [ebp - 0x4b8], 0
jmp 0x49ba0f
mov ecx, dword [ebp - 0x38]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x3fffffff
jle 0x49b9d3
mov dword [ebp - 0x4bc], 0
jmp 0x49ba03
mov eax, dword [ebp - 0x30]
shl eax, 1
call fcn.005ad720
mov dword [ebp - 0x4c0], esp
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x30]
shl eax, 1
push eax
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x4c0]
push edx
call fcn.0045d060
mov dword [ebp - 0x4bc], eax
mov eax, dword [ebp - 0x4bc]
mov dword [ebp - 0x4b8], eax
mov ecx, dword [ebp - 0x4b8]
push ecx
mov ecx, dword [ebp - 0x4b4]
add ecx, 0x58
call fcn.00474e80
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp - 0x4b4]
mov ecx, dword [eax + 0xdc]
call fcn.0049e430
mov ecx, dword [ebp - 0x4b4]
cmp dword [ecx + 0xb0], 0
jbe 0x49ba5d
mov edx, dword [ebp + 0x10]
imul edx, edx, 0x3e8
mov eax, dword [ebp - 0x4b4]
mov dword [eax + 0xb0], edx
cmp dword [ebp + 0x14], 0
jbe 0x49ba78
mov ecx, dword [ebp + 0x14]
imul ecx, ecx, 0x3e8
mov edx, dword [ebp - 0x4b4]
mov dword [edx + 0xb4], ecx
mov eax, dword [ebp - 0x4b4]
cmp dword [eax + 0xb8], 0
jbe 0x49ba9c
mov ecx, dword [ebp + 0x18]
imul ecx, ecx, 0x3e8
mov edx, dword [ebp - 0x4b4]
mov dword [edx + 0xb8], ecx
mov byte [ebp - 0x39], 0
mov eax, dword [ebp + 8]
cmp dword [eax], 0
je 0x49bc15
mov ecx, dword [ebp + 8]
cmp dword [ecx], 0
je 0x49bac4
mov edx, dword [ebp + 8]
mov eax, dword [edx]
sub eax, 4
mov dword [ebp - 0x4c4], eax
jmp 0x49bace
mov dword [ebp - 0x4c4], 0
mov ecx, dword [ebp - 0x4c4]
mov dword [ebp - 0x74], ecx
cmp dword [ebp - 0x74], 0
je 0x49bc07
lea ecx, [ebp - 0x444]
call fcn.00401990
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x74]
call fcn.00401980
push eax
lea ecx, [ebp - 0x444]
call fcn.00401830
mov ecx, dword [ebp - 0x74]
call fcn.0049e3f0
mov ecx, eax
call fcn.00405490
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x74]
call fcn.0049e410
mov ecx, eax
call fcn.00405490
mov dword [ebp - 0x78], eax
mov edx, dword [ebp - 0x78]
push edx
mov eax, dword [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x444]
call fcn.00401c40
lea ecx, [ebp - 0x444]
push ecx
mov ecx, dword [ebp - 0x4b4]
add ecx, 0x74
call fcn.0049e940
movzx edx, byte [ebp - 0x39]
test edx, edx
jne 0x49bbf5
push 0x3c8
call fcn.005a7c1e
add esp, 4
mov dword [ebp - 0x464], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x464], 0
je 0x49bb92
mov ecx, dword [ebp - 0x464]
call fcn.00401990
mov dword [ebp - 0x4c8], eax
jmp 0x49bb9c
mov dword [ebp - 0x4c8], 0
mov eax, dword [ebp - 0x4c8]
mov dword [ebp - 0x460], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x4b4]
mov edx, dword [ebp - 0x460]
mov dword [ecx + 0x90], edx
mov ecx, dword [ebp - 0x74]
call fcn.00401980
push eax
mov eax, dword [ebp - 0x4b4]
mov ecx, dword [eax + 0x90]
call fcn.00401830
mov ecx, dword [ebp - 0x78]
push ecx
mov edx, dword [ebp - 0x7c]
push edx
mov eax, dword [ebp - 0x4b4]
mov ecx, dword [eax + 0x90]
call fcn.00401c40
mov byte [ebp - 0x39], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x444]
call fcn.0049e1d0
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x49baa0
movzx edx, byte [ebp - 0x39]
test edx, edx
jne 0x49bc25
or eax, 0xffffffff
jmp 0x49c1cf
push 0x288
call fcn.005a7c1e
add esp, 4
mov dword [ebp - 0x46c], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0x46c], 0
je 0x49bc5b
mov ecx, dword [ebp - 0x46c]
call fcn.004a5b10
mov dword [ebp - 0x4cc], eax
jmp 0x49bc65
mov dword [ebp - 0x4cc], 0
mov eax, dword [ebp - 0x4cc]
mov dword [ebp - 0x468], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x4b4]
mov edx, dword [ebp - 0x468]
mov dword [ecx + 0xa0], edx
push 0x4c
call fcn.005a7c1e
add esp, 4
mov dword [ebp - 0x474], eax
mov dword [ebp - 4], 3
cmp dword [ebp - 0x474], 0
je 0x49bcbd
mov ecx, dword [ebp - 0x474]
call fcn.004d0870
mov dword [ebp - 0x4d0], eax
jmp 0x49bcc7
mov dword [ebp - 0x4d0], 0
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0x470], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x4b4]
mov edx, dword [ebp - 0x470]
mov dword [ecx + 0xa4], edx
push 0x24
call fcn.005a7c1e
add esp, 4
mov dword [ebp - 0x47c], eax
mov dword [ebp - 4], 4
cmp dword [ebp - 0x47c], 0
je 0x49bd1f
mov ecx, dword [ebp - 0x47c]
call fcn.004d4960
mov dword [ebp - 0x4d4], eax
jmp 0x49bd29
mov dword [ebp - 0x4d4], 0
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x478], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x4b4]
mov edx, dword [ebp - 0x478]
mov dword [ecx + 0xa8], edx
push 0x6c
call fcn.005a7c1e
add esp, 4
mov dword [ebp - 0x484], eax
mov dword [ebp - 4], 5
cmp dword [ebp - 0x484], 0
je 0x49bd81
mov ecx, dword [ebp - 0x484]
call fcn.004d7c00
mov dword [ebp - 0x4d8], eax
jmp 0x49bd8b
mov dword [ebp - 0x4d8], 0
mov eax, dword [ebp - 0x4d8]
mov dword [ebp - 0x480], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x4b4]
mov edx, dword [ebp - 0x480]
mov dword [ecx + 0xac], edx
mov eax, dword [ebp - 0x4b4]
mov ecx, dword [eax + 0xdc]
push ecx
mov edx, dword [ebp - 0x4b4]
mov ecx, dword [edx + 0xa0]
call fcn.004a66b0
movzx eax, al
test eax, eax
je 0x49be3f
mov ecx, dword [ebp - 0x4b4]
mov edx, dword [ecx + 0xdc]
push edx
mov eax, dword [ebp - 0x4b4]
mov ecx, dword [eax + 0xa4]
call fcn.004d09a0
movzx ecx, al
test ecx, ecx
je 0x49be3f
mov edx, dword [ebp - 0x4b4]
mov eax, dword [edx + 0xdc]
push eax
mov ecx, dword [ebp - 0x4b4]
mov ecx, dword [ecx + 0xa8]
call fcn.004d4a70
movzx edx, al
test edx, edx
je 0x49be3f
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x4b4]
mov ecx, dword [ecx + 0xac]
call fcn.004d7d00
movzx edx, al
test edx, edx
jne 0x49bf5f
mov eax, dword [ebp - 0x4b4]
mov ecx, dword [eax + 0xa0]
mov dword [ebp - 0x48c], ecx
mov edx, dword [ebp - 0x48c]
mov dword [ebp - 0x488], edx
cmp dword [ebp - 0x488], 0
je 0x49be7b
push 1
mov ecx, dword [ebp - 0x488]
call fcn.0049e0e0
mov dword [ebp - 0x4dc], eax
jmp 0x49be85
mov dword [ebp - 0x4dc], 0
mov eax, dword [ebp - 0x4b4]
mov ecx, dword [eax + 0xa4]
mov dword [ebp - 0x494], ecx
mov edx, dword [ebp - 0x494]
mov dword [ebp - 0x490], edx
cmp dword [ebp - 0x490], 0
je 0x49bec1
push 1
mov ecx, dword [ebp - 0x490]
call fcn.0049e110
mov dword [ebp - 0x4e0], eax
jmp 0x49becb
mov dword [ebp - 0x4e0], 0
mov eax, dword [ebp - 0x4b4]
mov ecx, dword [eax + 0xa8]
mov dword [ebp - 0x49c], ecx
mov edx, dword [ebp - 0x49c]
mov dword [ebp - 0x498], edx
cmp dword [ebp - 0x498], 0
je 0x49bf07
push 1
mov ecx, dword [ebp - 0x498]
call fcn.0049e140
mov dword [ebp - 0x4e4], eax
jmp 0x49bf11
mov dword [ebp - 0x4e4], 0
mov eax, dword [ebp - 0x4b4]
mov ecx, dword [eax + 0xac]
mov dword [ebp - 0x4a4], ecx
mov edx, dword [ebp - 0x4a4]
mov dword [ebp - 0x4a0], edx
cmp dword [ebp - 0x4a0], 0
je 0x49bf4d
push 1
mov ecx, dword [ebp - 0x4a0]
call fcn.0049e170
mov dword [ebp - 0x4e8], eax
jmp 0x49bf57
mov dword [ebp - 0x4e8], 0
or eax, 0xffffffff
jmp 0x49c1cf
mov eax, dword [ebp - 0x4b4]
add eax, 0x3c
push eax
lea ecx, [ebp - 0x64]
call fcn.004053e0
mov dword [ebp - 4], 6
push 0x6fa748
lea ecx, [ebp - 0x64]
call fcn.0040bb20
lea ecx, [ebp - 0x44]
call fcn.004877f0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x64]
call fcn.00405490
push eax
lea ecx, [ebp - 0x44]
call fcn.00487870
movzx ecx, al
test ecx, ecx
je 0x49c031
lea ecx, [ebp - 0x45c]
call fcn.0049eb80
mov byte [ebp - 4], 8
lea edx, [ebp - 0x45c]
push edx
mov eax, dword [ebp - 0x4b4]
movzx ecx, byte [eax + 0xe0]
push ecx
mov edx, dword [ebp - 0x4b4]
mov eax, dword [edx + 0xa8]
push eax
mov ecx, dword [ebp - 0x4b4]
mov edx, dword [ecx + 0xa4]
push edx
mov eax, dword [ebp - 0x4b4]
movzx ecx, byte [eax + 0xc8]
push ecx
mov edx, dword [ebp - 0x4b4]
add edx, 0x20
push edx
mov eax, dword [ebp - 0x4b4]
add eax, 4
push eax
lea ecx, [ebp - 0x44]
push ecx
mov edx, dword [ebp - 0x4b4]
mov ecx, dword [edx + 0xa0]
call fcn.004a6820
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x45c]
call fcn.0049ebf0
mov eax, dword [ebp - 0x4b4]
add eax, 0x3c
push eax
lea ecx, [ebp - 0x2c]
call fcn.004053e0
mov byte [ebp - 4], 9
push 0x6fa768
lea ecx, [ebp - 0x2c]
call fcn.0040bb20
lea ecx, [ebp - 0x70]
call fcn.004877f0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2c]
call fcn.00405490
push eax
lea ecx, [ebp - 0x70]
call fcn.00487870
movzx ecx, al
test ecx, ecx
je 0x49c08d
lea edx, [ebp - 0x70]
push edx
mov eax, dword [ebp - 0x4b4]
mov ecx, dword [eax + 0xac]
call fcn.004d7ec0
mov ecx, dword [ebp - 0x4b4]
mov dword [ecx + 0xcc], 0
lea edx, [ebp - 0x34]
push edx
push 0
mov eax, dword [ebp - 0x4b4]
push eax
push 0x49d0e0
push 0
push 0
call fcn.005aa391
add esp, 0x18
mov ecx, dword [ebp - 0x4b4]
mov dword [ecx + 0xd0], eax
mov edx, dword [ebp - 0x4b4]
cmp dword [edx + 0xd0], 0
jne 0x49c11e
mov dword [ebp - 0x4a8], 0xffffffff
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x70]
call fcn.00487820
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c]
call fcn.00405410
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x44]
call fcn.00487820
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.00405410
mov eax, dword [ebp - 0x4a8]
jmp 0x49c1cf
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, dword [ebp - 0x4b4]
mov dword [ecx + 0xd4], eax
mov edx, dword [ebp - 0x4b4]
cmp dword [edx + 0xd4], 0
jne 0x49c18c
mov dword [ebp - 0x4ac], 0xffffffff
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x70]
call fcn.00487820
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c]
call fcn.00405410
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x44]
call fcn.00487820
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.00405410
mov eax, dword [ebp - 0x4ac]
jmp 0x49c1cf
mov dword [ebp - 0x4b0], 0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x70]
call fcn.00487820
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c]
call fcn.00405410
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x44]
call fcn.00487820
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.00405410
mov eax, dword [ebp - 0x4b0]
lea esp, [ebp - 0x4ec]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005a6f18
mov esp, ebp
pop ebp
ret 0x2c