Function at 0x4189b0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x442ecc
mov eax, dword fs:[0]
push eax
sub esp, 0x190
mov eax, dword [0x5a800c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
lea eax, [ebx + 0x14]
cmp dword [ebp + 8], eax
jne 0x4190a5
lea ecx, [ebp - 0xec]
call fcn.00402e10
mov dword [ebp - 4], 0
mov dword [ebp - 0xec], vtable.CWConstString.0
mov dword [ebp - 0xe0], 0x596ec0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x170]
call fcn.00402e10
mov byte [ebp - 4], 2
mov dword [ebp - method.CWString.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x164], 0x59666c
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xc0]
call fcn.00402e10
mov byte [ebp - 4], 4
mov dword [ebp - 0xc0], vtable.CWConstString.0
mov dword [ebp - 0xb4], str.soft
mov byte [ebp - 4], 5
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x170]
push eax
lea edx, [ebp - 0xc0]
call fcn.0042d7a0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xc0]
call fcn.00402b00
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x170]
call fcn.00402b00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xec]
call fcn.00402b00
mov dword [ebp - 0x118], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - 0x118], vtable.CVolObject.0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 4], 9
mov dword [ebp - 0x118], vtable.rg_n::rg_n2149.0
mov dword [ebp - 4], 0xa
push ecx
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x118], vtable.rg_n::rg_n1726.0
call fcn.00429ef0
mov dword [ebp - 4], 0xc
lea ecx, [ebp - 0x144]
call fcn.00402e10
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xc0]
call fcn.00402e10
mov byte [ebp - 4], 0xe
mov dword [ebp - 0xc0], vtable.CWConstString.0
mov dword [ebp - 0xb4], 0x596b28
mov byte [ebp - 4], 0xf
mov esi, 0x5962e4
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
jne 0x418b62
cmp dword [ebp - 0x9c], 0
mov ecx, esi
cmovne ecx, dword [ebp - 0xa4]
mov eax, dword [0x5a8378]
test eax, eax
jne 0x418b7b
cmp dword [0x5a8390], 0
mov eax, esi
cmovne eax, dword [0x5a8388]
sub esp, 8
lea edx, [ebp - 0x10c]
push ecx
mov ecx, eax
call fcn.00433850
add esp, 0xc
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xc0]
call fcn.00402b00
mov eax, dword [ebp - 0xfc]
xor ecx, ecx
cmp dword [ebp - 0xf4], ecx
cmove eax, ecx
lea ecx, [ebp - 0xec]
mov edx, dword [eax]
call fcn.00402e10
mov byte [ebp - 4], 0x11
test edx, edx
mov eax, esi
mov dword [ebp - 0xec], vtable.CWString.0
cmovne eax, edx
lea ecx, [ebp - 0xec]
push eax
call fcn.00438360
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebx + 0x8c4]
call fcn.00407a90
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xec]
call fcn.00402b00
mov eax, dword [ebp - 0xfc]
xor ecx, ecx
cmp dword [ebp - 0xf4], ecx
cmove eax, ecx
lea ecx, [ebp - 0xc0]
mov edx, dword [eax + 8]
call fcn.00402e10
mov byte [ebp - 4], 0x13
test edx, edx
mov eax, esi
mov dword [ebp - 0xc0], vtable.CWString.0
cmovne eax, edx
lea ecx, [ebp - 0xc0]
push eax
call fcn.00438360
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x144]
mov eax, dword [ebp - 0x144]
call dword [eax + 0x44]
mov eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x134]
call dword [eax + 0x44]
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x134]
call fcn.00403220
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xc0]
call fcn.00402b00
mov eax, dword [ebp - 0xfc]
xor ecx, ecx
cmp dword [ebp - 0xf4], ecx
cmove eax, ecx
lea ecx, [ebp - 0x170]
mov edx, dword [eax + 8]
call fcn.00402e10
mov byte [ebp - 4], 0x15
test edx, edx
mov dword [ebp - method.CWString.virtual_0], vtable.CWString.0
mov eax, esi
lea ecx, [ebp - 0x170]
cmovne eax, edx
push eax
call fcn.00438360
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xec]
call fcn.00402e10
mov byte [ebp - 4], 0x17
mov dword [ebp - 0xec], vtable.CWConstString.0
mov dword [ebp - 0xe0], 0x596b30
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x170]
push eax
lea edx, [ebp - 0xec]
lea ecx, [ebp - 0x19c]
call fcn.00439390
mov byte [ebp - 4], 0x19
mov edx, eax
push 0x596b2c
lea ecx, [ebp - 0xc0]
call fcn.00439510
add esp, 8
mov byte [ebp - 4], 0x1a
lea ecx, [ebx + 0xcb4]
push eax
call fcn.00407a90
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xc0]
call fcn.00402b00
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x19c]
call fcn.00402b00
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xec]
call fcn.00402b00
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x170]
call fcn.00402b00
lea eax, [ebp - 0x19c]
push eax
lea ecx, [ebx + 0x8c4]
call fcn.00407920
mov byte [ebp - 4], 0x1c
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x94], ecx
test ecx, ecx
jne 0x418dce
cmp dword [eax + 0x24], ecx
jne 0x418dc5
mov dword [ebp - 0x94], 0x5962e4
jmp 0x418dce
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x138]
test eax, eax
jne 0x418de8
cmp dword [ebp - 0x120], 0
mov eax, esi
cmovne eax, dword [ebp - 0x128]
mov esi, dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
push eax
call esi
push dword [ebp - 0x94]
mov edi, eax
call esi
add esp, 8
lea ecx, [ebp - 0xec]
sub edi, eax
call fcn.00402e10
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x90]
push edi
push 0x597e64
push eax
mov dword [ebp - 0xec], vtable.CWString.0
call fcn.00437ca0
add esp, 0xc
lea eax, [ebp - 0x90]
lea ecx, [ebp - 0xec]
push eax
call fcn.00438360
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebx + 0x774]
call fcn.00407a90
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0xec]
call fcn.00402b00
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x19c]
call fcn.00402b00
mov esi, dword [0x5a8428]
mov edi, 0x5962e4
test esi, esi
je 0x418e87
mov eax, esi
jmp 0x418e97
cmp dword [0x5a8440], 0
mov eax, edi
cmovne eax, dword [0x5a8438]
mov ecx, str.1234
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x418ec6
test dx, dx
je 0x418ec2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x418ec6
add eax, 4
add ecx, 4
test dx, dx
jne 0x418ea0
xor eax, eax
jmp 0x418ecb
sbb eax, eax
or eax, 1
test eax, eax
je 0x418ee2
mov edx, 0x596b3c
mov ecx, 0x5a841c
call fcn.00429d10
test eax, eax
je 0x418ef6
push 0
push dword [ebx + 0xb70]
call dword [0x5b5b58]
mov esi, dword [0x5a8428]
test esi, esi
je 0x418efe
mov eax, esi
jmp 0x418f0e
cmp dword [0x5a8440], 0
mov eax, edi
cmovne eax, dword [0x5a8438]
mov ecx, 0x596b40
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x418f39
test dx, dx
je 0x418f35
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x418f39
add eax, 4
add ecx, 4
test dx, dx
jne 0x418f13
xor eax, eax
jmp 0x418f3e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x418f66
push 1
push dword [ebx + 0xb70]
call dword [0x5b5b58]
push 1
push 8
push dword [ebx + 0xb70]
call dword [0x5b5b40]
mov esi, dword [0x5a8428]
test esi, esi
jne 0x418f79
cmp dword [0x5a8440], esi
cmovne edi, dword [0x5a8438]
mov esi, edi
mov eax, 0x596b44
nop
mov cx, word [esi]
cmp cx, word [eax]
jne 0x418fa6
test cx, cx
je 0x418fa2
mov cx, word [esi + 2]
cmp cx, word [eax + 2]
jne 0x418fa6
add esi, 4
add eax, 4
test cx, cx
jne 0x418f80
xor eax, eax
jmp 0x418fab
sbb eax, eax
or eax, 1
test eax, eax
jne 0x418fcd
push 1
push dword [ebx + 0xb70]
call dword [0x5b5b58]
push 0
push 8
push dword [ebx + 0xb70]
call dword [0x5b5b40]
lea eax, [ebp - 0x19c]
mov dword [0x5a8ea0], 6
push eax
lea ecx, [ebx + 0x8c4]
call fcn.00407920
mov byte [ebp - 4], 0x1f
push ecx
push eax
lea eax, [ebp - 0xb0]
mov ecx, ebx
push eax
call fcn.004190d0
mov byte [ebp - 4], 0x20
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x94], esp
push eax
call fcn.00403090
mov byte [ebp - 4], 0x21
mov byte [ebp - 4], 0x20
call fcn.0043c6e0
add esp, 0x1c
push eax
push 8
push dword [ebx + 0x630]
call dword [0x5b5b4c]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xb0]
call fcn.00403650
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x19c]
call fcn.00402b00
lea eax, [ebp - 0x94]
mov dword [ebp - 0x94], 0
push eax
push 0
push 0
push 0x41a0d0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x144]
call fcn.00402b00
mov dword [ebp - 4], 0x22
lea ecx, [ebp - 0x10c]
call fcn.00429d60
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x118], vtable.CVolObject.0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043d953
mov esp, ebp
pop ebp
ret 0x18