Function at 0x419970
Capabilities:
Create thread
Get common file path
Inspect section memory permissions
Query or enumerate registry value
Resolve function by parsing pe exports
Set current directory

Disassembly:
push 0xffffffffffffffff
push 0x4fe2ab
mov eax, dword fs:[0]
push eax
mov eax, 0x19b8
call fcn.004b7ac0
mov eax, dword [0x52e144]
xor eax, esp
mov dword [esp + 0x19b4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x52e144]
xor eax, esp
push eax
lea eax, [esp + 0x19cc]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x19dc]
push 0x511cec
mov dword [esp + 0x20], ebp
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
push 0x104
lea eax, [esp + 0x3bc]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x419a15
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x50fa24
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
mov byte [esp + 0x3b8], 0
push 0x511ce0
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
lea ecx, [esp + 0x3c4]
push 0x5c
push ecx
call fcn.004b6d8c
add esp, 0x14
test eax, eax
je 0x419a45
mov byte [eax], 0
jmp 0x419a52
mov edx, 0x2e
mov word [esp + 0x3b8], dx
push 0x511cd4
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
lea eax, [esp + 0x3b8]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea edi, [esp + 0x3b8]
or ebx, 0xffffffff
add edi, ebx
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x419a84
mov cx, word [0x50e37c]
mov eax, ebp
mov word [edi], cx
mov ecx, eax
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x419aa0
lea edi, [esp + 0x3b8]
sub eax, ecx
mov esi, ecx
add edi, ebx
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x419ab4
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x50fa18
rep movsb byte es:[edi], byte [esi]
call fcn.00404690
add esp, 4
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x419ae0
lea edi, [esp + 0x3b8]
sub eax, ecx
mov esi, ecx
add edi, ebx
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x419af4
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x3b8]
mov ecx, eax
push edx
and ecx, 3
push 0x511cc8
rep movsb byte es:[edi], byte [esi]
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
lea eax, [esp + 0x3c4]
push 0
push eax
call fcn.004ba516
add esp, 0x14
cmp eax, ebx
jne 0x419c4e
push 0x511cb0
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
lea ecx, [esp + 0x3b8]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push 0x50fa08
call fcn.00404690
add esp, 4
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x419b80
lea edi, [esp + 0x3b8]
sub eax, ecx
mov esi, ecx
add edi, ebx
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x419b94
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebp
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x419bb0
lea edi, [esp + 0x3b8]
sub eax, ecx
mov esi, ecx
add edi, ebx
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x419bc4
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x50f9fc
rep movsb byte es:[edi], byte [esi]
call fcn.00404690
add esp, 4
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x419bf0
lea edi, [esp + 0x3b8]
sub eax, ecx
mov esi, ecx
add edi, ebx
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x419c04
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea edx, [esp + 0x3b8]
and ecx, 3
push 0
push edx
rep movsb byte es:[edi], byte [esi]
call fcn.004ba516
add esp, 8
cmp eax, ebx
jne 0x419c4e
push 0xc0010000
push 0x1caed894
push 0x2af8
call fcn.0040a3f0
add esp, 0xc
xor al, al
jmp 0x41d55e
jmp 0x419c60
push 0x511ca8
mov dword [0x537cc4], 0xb
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
lea ecx, [esp + 0x24]
call fcn.00405cc0
push 0x5385ac
lea eax, [esp + 0x3bc]
xor ebp, ebp
push eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x19dc], ebp
call fcn.00405e60
push 1
lea ecx, [esp + 0x3bc]
push ecx
lea ecx, [esp + 0x2c]
call fcn.00406500
test al, al
jne 0x419d4d
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
mov esi, dword [esp + 0x68]
call edi
push eax
push esi
push 0x50f9e0
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
push 1
lea edx, [esp + 0x3bc]
push edx
lea ecx, [esp + 0x2c]
call fcn.00405fb0
movzx eax, al
push eax
push 0x50f9cc
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x80030002
push 0x1caed8f8
push 0x2afa
call fcn.0040a3f0
add esp, 0x18
lea ecx, [esp + 0x24]
mov dword [esp + 0x19d4], ebx
call fcn.00405d20
xor al, al
jmp 0x41d55e
push 0x511ca0
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0x800
lea ecx, [esp + 0x4cc]
push ebp
push ecx
call fcn.004b6dc0
mov edx, dword [0x526d04]
push edx
call fcn.00404690
add esp, 0x1c
add eax, 5
push eax
push 0x7ff
lea eax, [esp + 0x4c4]
push eax
lea ecx, [esp + 0x3c4]
push ecx
lea ecx, [esp + 0x34]
call fcn.00406ef0
test al, al
jne 0x419e00
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
mov esi, dword [esp + 0x68]
call edi
push eax
push esi
push 0x50f9b4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x40030002
push 0x1caed95c
push 0x2afa
call fcn.0040a3f0
add esp, 0x1c
lea ecx, [esp + 0x24]
mov dword [esp + 0x19d4], ebx
call fcn.00405d20
xor al, al
jmp 0x41d55e
push 0x800
lea edx, [esp + 0x11cc]
push ebp
push edx
call fcn.004b6dc0
mov eax, dword [0x526d04]
push eax
call fcn.00404690
add eax, 5
push eax
push 0x7ff
lea ecx, [esp + 0x11e0]
push ecx
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x3d8]
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.00413a30
add esp, 0x28
test eax, eax
jne 0x419ea5
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
mov esi, dword [0x538cfc]
call edi
push eax
push esi
push 0x50f99c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x40030002
push 0x1caed9c0
push 0x2afa
call fcn.0040a3f0
add esp, 0x1c
lea ecx, [esp + 0x24]
mov dword [esp + 0x19d4], ebx
call fcn.00405d20
xor al, al
jmp 0x41d55e
push 0x511c98
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0x324
lea edx, [esp + 0xa4]
push ebp
push edx
call fcn.004b6dc0
push 0x50f990
call fcn.004045b0
add esp, 0x1c
mov esi, eax
lea eax, [esp + 0x4bc]
push eax
push 0x20
lea ecx, [esp + 0x9c]
push ecx
push 0x511c8c
call fcn.004045b0
add esp, 4
push eax
push 0x511c7c
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
push 0x511c70
call fcn.00404690
add esp, 0x1c
push eax
lea edx, [esp + 0x98]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x419f73
push 0x511c54
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0xc0030000
push 0x1caeda24
push 0x2afa
call fcn.0040a3f0
add esp, 0x18
lea ecx, [esp + 0x24]
mov dword [esp + 0x19d4], ebx
call fcn.00405d20
xor al, al
jmp 0x41d55e
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511c40
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [esp + 0xb4], eax
cmp eax, ebp
jne 0x419fc5
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511c30
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [esp + 0xb4], eax
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511c20
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [esp + 0xb8], eax
cmp eax, ebp
jne 0x41a017
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511c10
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511c00
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push 0x17c
push 0x511bf0
mov dword [esp + 0xc8], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [esp + 0xc0], eax
lea eax, [esp + 0x4bc]
push eax
push 0x17c
push 0x511be0
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push 0x17c
push 0x511bd0
mov dword [esp + 0xd0], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push 0x17c
push 0x511bc0
mov dword [esp + 0xd4], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [esp + 0xcc], eax
lea eax, [esp + 0x4bc]
push eax
push 0x17c
push 0x511bb0
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push 0x17c
push 0x511ba0
mov dword [esp + 0xdc], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push 0x17c
mov dword [esp + 0xdc], eax
push 0x511b90
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [esp + 0xd8], eax
lea eax, [esp + 0x4bc]
push eax
push 0x17c
push 0x511b80
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push 0x17c
push 0x511b70
mov dword [esp + 0xe8], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push 0x17c
push 0x511b60
mov dword [esp + 0xec], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [esp + 0xe4], eax
lea eax, [esp + 0x4bc]
push eax
push 0x17c
push 0x511b50
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push 0x17c
push 0x511b40
mov dword [esp + 0xf4], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push 0x17c
push 0x511b30
mov dword [esp + 0xf8], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [esp + 0xf0], eax
lea eax, [esp + 0x4bc]
push eax
push 0x17c
push 0x511b20
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push 0x17c
push 0x511b10
mov dword [esp + 0x100], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511b00
mov dword [esp + 0x104], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [esp + 0xfc], eax
lea eax, [esp + 0x4bc]
push eax
push 0x17c
push 0x511af0
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511ae0
mov dword [esp + 0x10c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push 0x17c
push 0x511ad0
mov dword [esp + 0x110], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [esp + 0x120], eax
lea eax, [esp + 0x4bc]
push eax
push 0x3e8
push 0x511ab8
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511aa4
mov dword [0x537c44], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537c48], eax
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511a8c
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x5379f4], eax
lea eax, [esp + 0x4bc]
push eax
push 0x104
push 0x538d08
push 0x50d147
push 0x511a7c
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea ecx, [esp + 0x4bc]
push ecx
push 0x104
push 0x538f08
push 0x50d147
push 0x511a6c
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea edx, [esp + 0x4bc]
push edx
push 0x104
push 0x539108
push 0x50d147
push 0x511a5c
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea eax, [esp + 0x4bc]
push eax
push 0x104
push 0x539308
push 0x50d147
push 0x511a4c
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea ecx, [esp + 0x4bc]
push ecx
push 0x104
push 0x539508
push 0x50d147
push 0x511a3c
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511a2c
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x538670], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511a20
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537afc], eax
cmp eax, ebp
jne 0x41a533
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511a10
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537afc], eax
lea edx, [esp + 0x4bc]
push edx
push 0x17c
push 0x511a00
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537c04], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x5119f0
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x5119dc
mov dword [0x537c08], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x5119cc
mov dword [0x5378d8], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537c14], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x5119bc
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x5119ac
mov dword [0x537c24], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x5119a0
mov dword [0x537c28], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537c2c], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511990
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push 0x17c
push 0x511980
mov dword [0x537c34], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push 0x17c
push 0x511970
mov dword [0x537c38], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537c3c], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511960
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511950
mov dword [0x537c40], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511940
mov dword [0x538674], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537c50], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511934
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push 0x100
push 0x536cc0
push 0x50d147
push 0x511924
mov dword [0x5383c8], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea edx, [esp + 0x4bc]
push edx
push 0x100
push 0x536ec8
push 0x50d147
push 0x511914
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
cmp byte [0x536cc0], 0
jne 0x41a7d8
lea eax, [esp + 0x4bc]
push eax
push 0x100
push 0x536cc0
push 0x50d147
push 0x511904
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
cmp byte [0x536ec8], 0
jne 0x41a80f
lea ecx, [esp + 0x4bc]
push ecx
push 0x100
push 0x536ec8
push 0x50d147
push 0x5118f4
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x5118e0
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x536cbc], eax
lea eax, [esp + 0x4bc]
push eax
push 0x40
push 0x5370d0
push 0x50d147
push 0x5118c8
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea ecx, [esp + 0x4bc]
push ecx
push 0x17c
push 0x5118b8
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push 0x17c
push 0x5118a8
mov dword [0x537c54], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [esp + 0x74], eax
lea eax, [esp + 0x4bc]
push eax
push 0x17c
push 0x511898
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push 0x17c
push 0x51188c
mov dword [esp + 0x84], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x51187c
mov dword [esp + 0x8c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x4bc]
push eax
push 0x17c
push 0x51186c
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511860
mov dword [0x537c5c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511850
mov dword [0x537c60], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537c68], eax
lea eax, [esp + 0x4bc]
push eax
push 0x17c
push 0x511840
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511830
mov dword [0x537c6c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511820
mov dword [0x537c70], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537cd0], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511810
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511804
mov dword [0x537cd4], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x5117f8
mov dword [0x537cd8], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537cdc], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x5117e8
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x5117d8
mov dword [0x537ce0], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x5117cc
mov dword [0x537ce4], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537ce8], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x5117bc
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x5117b0
mov dword [esp + 0x118], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x5117a4
mov dword [esp + 0x11c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [esp + 0x114], eax
lea eax, [esp + 0x4bc]
push eax
push 0x17c
push 0x511794
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511784
mov dword [esp + 0x124], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511778
mov dword [0x537c74], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537c88], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511768
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511758
mov dword [0x537c8c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511748
mov dword [esp + 0x24], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537c30], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511730
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
mov dword [0x537c94], eax
push 0x511724
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511714
mov dword [0x538354], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x538358], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511700
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x5116ec
mov dword [esp + 0x2c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x5116d4
mov dword [0x53835c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x538360], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x5116c4
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x5116ac
mov dword [0x537c90], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511698
mov dword [0x538370], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x527da0], eax
cmp eax, ebp
jne 0x41adbb
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x51168c
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x527da0], eax
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x51167c
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511668
mov dword [0x538374], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x538378], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511658
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x51164c
mov dword [0x53838c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511638
mov dword [0x53837c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x538380], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511624
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511610
mov dword [0x537c0c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
mov dword [0x537c10], eax
push 0x5115fc
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x5378d0], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x5115ec
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x5115d8
mov dword [0x5378d4], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x5115cc
mov dword [0x537c7c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537c80], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x5115bc
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x5115ac
mov dword [0x537c84], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x51159c
mov dword [0x538388], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x527da8], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x51158c
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511578
mov dword [0x527dac], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x51156c
mov dword [0x538390], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x538394], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x51155c
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x51154c
mov dword [0x527db0], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511540
mov dword [0x53839c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x5383a0], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511534
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511520
mov dword [0x538398], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x5383ac], eax
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511514
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x5383a4], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511508
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x5114fc
mov dword [0x5383a8], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x5114ec
mov dword [0x5383b0], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x5383b8], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x5114e0
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x5114d0
mov dword [0x5383b4], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x5114c0
mov dword [0x5383bc], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x5383c0], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x5114b0
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511498
mov dword [0x5383c4], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511488
mov dword [0x537cec], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537cf0], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511478
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511468
mov dword [0x537cf4], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537cf8], eax
cmp eax, ebp
jne 0x41b2ce
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511458
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537cf8], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511444
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511434
mov dword [0x537cfc], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
test eax, eax
lea eax, [esp + 0x4bc]
push eax
setne dl
push ebp
push 0x511424
mov byte [0x53788f], dl
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x51140c
mov dword [0x537d00], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511400
mov dword [0x5385d4], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [esp + 0x108], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x5113f0
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x5113e0
mov dword [0x537d04], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
mov dword [0x537d0c], eax
push edx
push ebp
push 0x5113cc
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537d08], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x5113bc
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x5113a8
mov dword [0x537d10], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511398
mov dword [0x537d14], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537d18], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x51138c
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511380
mov dword [0x537d1c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push 0x100
push 0x5384a0
push 0x50d147
push 0x511370
mov dword [0x537d24], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
cmp byte [0x5384a0], 0
jne 0x41b51c
lea eax, [esp + 0x4bc]
push eax
push 0x100
push 0x5384a0
push 0x50d147
push 0x511360
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x51134c
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x51133c
mov dword [0x537d20], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537d28], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x51132c
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511320
mov dword [0x537d2c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511310
mov dword [esp + 0x3c0], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537d30], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x50f980
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537d34], eax
cmp eax, ebp
jne 0x41b625
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x50f970
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537d34], eax
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511300
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x5378dc], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x5112f4
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push 0x104
push 0x5378f0
push 0x50d147
push 0x5112e4
mov dword [0x5378e0], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea edx, [esp + 0x4bc]
push edx
push 0x104
push 0x5379f8
push 0x50d147
push 0x5112d4
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea eax, [esp + 0x4bc]
push eax
push 0x104
push 0x537b00
push 0x50d147
push 0x5112c4
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
cmp byte [0x5378f0], 0
jne 0x41b730
lea ecx, [esp + 0x4bc]
push ecx
push 0x104
push 0x5378f0
push 0x50d147
push 0x5112b4
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
cmp byte [0x5379f8], 0
jne 0x41b767
lea edx, [esp + 0x4bc]
push edx
push 0x104
push 0x5379f8
push 0x50d147
push 0x5112a4
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
cmp byte [0x537b00], 0
jne 0x41b79e
lea eax, [esp + 0x4bc]
push eax
push 0x104
push 0x537b00
push 0x50d147
push 0x511294
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511288
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push 0x17c
push 0x511278
mov dword [0x5378e4], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537d38], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511268
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511254
mov dword [0x537c18], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
test eax, eax
lea eax, [esp + 0x4bc]
push eax
setne dl
push ebp
push 0x511244
mov byte [0x53788e], dl
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511234
mov dword [0x537d3c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x511224
mov dword [0x537d40], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
mov dword [0x537d44], eax
add esp, 0x10
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511214
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511204
mov dword [0x537d78], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x5111f8
mov dword [0x537d7c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537f0c], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x5111e8
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x5111dc
mov dword [0x537d80], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x5111d0
mov dword [0x537d84], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537d88], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x5111c0
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x5111b0
mov dword [0x537d8c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537d90], eax
cmp eax, ebp
je 0x41b9e2
imul eax, eax, 0x3e8
mov dword [0x537d90], eax
lea edx, [esp + 0x4bc]
push edx
push ebp
push 0x5111a0
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537f24], eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511190
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push 0x17c
push 0x511180
mov dword [0x537f28], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push 0x32
push 0x537d98
push 0x50d147
push 0x511170
mov dword [esp + 0x138], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea eax, [esp + 0x4bc]
push eax
push 0x32
push 0x537dcc
push 0x50d147
push 0x511160
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea ecx, [esp + 0x4bc]
push ecx
push 0x32
push 0x537e00
push 0x50d147
push 0x511150
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea edx, [esp + 0x4bc]
push edx
push 0x32
push 0x537e34
push 0x50d147
push 0x511140
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea eax, [esp + 0x4bc]
push eax
push 0x32
push 0x537e68
push 0x50d147
push 0x511130
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea ecx, [esp + 0x4bc]
push ecx
push 0x32
push 0x537e9c
push 0x50d147
push 0x511120
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea edx, [esp + 0x4bc]
push edx
push 0x32
push 0x537ed0
push 0x50d147
push 0x511110
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
add esp, 0x18
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x511100
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x5110f0
mov dword [0x537f2c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push 0x17c
push 0x5110e0
mov dword [0x537d94], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov edi, eax
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x5110d0
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537f10], eax
lea ecx, [esp + 0x4bc]
push ecx
push 0x17c
push 0x5110c0
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea edx, [esp + 0x4bc]
push edx
push 0x17c
push 0x5110b0
mov dword [0x537f1c], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x537f20], eax
cmp edi, 0x1f53
jne 0x41bc7a
mov byte [0x53788d], 1
cmp byte [0x5378f0], 0
je 0x41bccd
lea eax, [esp + 0x4bc]
push eax
push ebp
push 0x5110a0
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
lea ecx, [esp + 0x4bc]
push ecx
push ebp
push 0x511090
mov dword [0x5378e8], eax
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.004375e0
add esp, 0x10
mov dword [0x5378ec], eax
cmp dword [0x537f30], ebp
je 0x41bcf5
mov edx, dword [0x539720]
push 0x537f34
push edx
call dword [0x5385f8]
cmp dword [0x537f34], ebp
jne 0x41bcf5
mov dword [0x537afc], ebp
cmp dword [0x537d80], 1
jne 0x41bd08
mov dword [0x537d80], 0x3c
push 0x5378f0
call fcn.00404c50
push 0x5379f8
call fcn.00404c50
push 0x537b00
call fcn.00404c50
push 0x538d08
call fcn.00404c50
push 0x538f08
call fcn.00404c50
push 0x539108
call fcn.00404c50
push 0x539308
call fcn.00404c50
push 0x539508
call fcn.00404c50
push 0x536cc0
call fcn.00404c50
push 0x536ec8
call fcn.00404c50
push 0x5384a0
call fcn.00404c50
add esp, 0x2c
cmp byte [0x538d08], 0
jne 0x41bd9e
push 0x51107c
call fcn.00404690
add esp, 4
mov edx, 0x538d08
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x41bd94
cmp byte [0x538f08], 0
jne 0x41bdca
push 0x511068
call fcn.00404690
add esp, 4
mov edx, 0x538f08
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x41bdc0
cmp byte [0x539108], 0
jne 0x41bdef
push 0x511054
call fcn.00404690
add esp, 4
mov edx, 0x539108
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x41bde5
mov eax, dword [0x537d78]
mov ebx, 2
test eax, eax
je 0x41c164
cmp dword [0x538348], 0x74
jb 0x41be12
cmp eax, ebx
jne 0x41bf2b
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0x5385b8], eax
test eax, eax
jne 0x41be7a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x511040
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x40000401
push 0x1caf78bc
push 0x2711
call fcn.0040a3f0
add esp, 0x18
lea ecx, [esp + 0x24]
mov dword [esp + 0x19d4], 0xffffffff
call fcn.00405d20
xor al, al
jmp 0x41d55e
push 0x5385b4
push 0
push 0
push 0x4195d0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x5385b0], eax
test eax, eax
jne 0x41becb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x51102c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0x40000401
push 0x1caf7920
push 0x2712
jmp 0x41be57
mov eax, dword [0x5385b8]
push 0x2710
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x41befb
push 0x511020
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
mov ecx, dword [0x5385b4]
mov edx, dword [0x5385b0]
push ecx
push edx
push 0x511004
mov byte [0x537f02], 1
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
mov ecx, dword [0x53834c]
test ecx, ecx
je 0x41c164
mov edi, dword [0x53789c]
mov ebp, dword [0x5378bc]
test cl, 1
je 0x41bf79
mov eax, ebp
xor eax, edi
xor eax, dword [0x537ccc]
xor eax, 0x4849
sub eax, dword [0x537c68]
mov dword [0x537c68], 0
xor eax, ebp
xor eax, edi
xor eax, 0x4849
mov dword [0x537ccc], eax
jmp 0x41bf7e
mov eax, dword [0x537ccc]
mov dl, cl
not dl
movzx edx, dl
shr edx, 1
and edx, 1
mov dword [0x537cf8], edx
test cl, 4
je 0x41bfa6
mov edx, 0x1f53
mov dword [0x537c38], edx
mov dword [0x537c3c], edx
test cl, 8
je 0x41bfb1
mov dword [0x537c24], ebx
mov edx, 1
test cl, 0x10
je 0x41bfc1
mov dword [0x537d5c], edx
test cl, 0x20
je 0x41bfcc
mov dword [0x537d48], edx
test cl, 0x40
je 0x41bfd7
mov dword [0x537d4c], edx
test cl, cl
jns 0x41bfe1
mov dword [0x537d50], edx
test ecx, 0x100
je 0x41bfef
mov dword [0x537d54], edx
test ecx, 0x200
je 0x41c029
mov edx, ebp
xor edx, edi
xor edx, eax
xor edx, 0x4849
sub edx, dword [0x538374]
mov dword [0x538374], 0
xor edx, ebp
xor edx, edi
xor edx, 0x4849
mov eax, edx
mov dword [0x537ccc], eax
mov edx, 1
test ecx, 0x400
je 0x41c037
mov dword [0x537d60], edx
test ecx, 0x800
je 0x41c04f
mov dword [0x537c7c], 0x1e
mov dword [0x537c5c], edx
test ecx, 0x1000
je 0x41c061
mov dword [0x537c74], 0
test ecx, 0x2000
je 0x41c06f
mov dword [0x537d3c], edx
test ecx, 0x4000
je 0x41c081
mov dword [0x537d18], 3
test ecx, 0x8000
je 0x41c08f
mov dword [0x537cec], edx
test ecx, 0x10000
je 0x41c09e
mov byte [0x53788e], 1
test ecx, 0x20000
je 0x41c0ac
mov dword [0x537c08], ebx
test ecx, 0x40000
je 0x41c0e1
mov edx, ebp
xor edx, edi
xor edx, eax
xor edx, 0x4849
sub edx, dword [0x537afc]
xor edx, ebp
xor edx, edi
xor edx, 0x4849
mov eax, edx
xor edx, edx
mov dword [0x537ccc], eax
mov dword [0x537afc], edx
jmp 0x41c0e7
mov edx, dword [0x537afc]
mov ebx, 1
test ecx, 0x80000
je 0x41c0fa
mov dword [0x537d64], ebx
test ecx, 0x100000
je 0x41c108
mov dword [0x537d68], ebx
test ecx, 0x1000000
je 0x41c117
mov byte [0x53788d], 1
test ecx, 0x2000000
je 0x41c125
mov dword [0x537d58], ebx
test ecx, 0x4000000
je 0x41c133
mov dword [0x537d6c], ebx
test ecx, 0x8000000
je 0x41c141
mov dword [0x537d70], ebx
test ecx, 0x10000000
je 0x41c14f
mov dword [0x537d74], ebx
test ecx, 0x20000000
je 0x41c175
mov dword [esp + 0xb8], 0xb
jmp 0x41c175
mov edx, dword [0x537afc]
mov eax, dword [0x537ccc]
mov edi, dword [0x53789c]
cmp dword [0x527da0], 0
je 0x41c187
lea ecx, [edi + edi*2 + 0x309]
jmp 0x41c196
lea ecx, [edi*8]
sub ecx, edi
sub ecx, 0xeb
mov ebx, dword [0x537c68]
lea ebx, [ebx + ebx*2 + 0x84]
add ebx, ebx
add ebx, ebx
lea ebp, [edx + 0x33]
shl ebp, 5
xor ebx, ebp
mov ebp, dword [esp + 0xbc]
add ebp, 0x22
shl ebp, 4
xor ebx, ebp
mov ebp, dword [esp + 0xb8]
add ebp, 0xe
imul ebp, ebp, 0x2a
xor ebx, ebp
mov ebp, dword [0x538374]
xor ebx, ecx
mov ecx, dword [0x5378bc]
xor ebx, ecx
xor ebx, edi
xor ebx, 0x7dce
mov dword [0x537cc8], ebx
mov ebx, dword [0x537c68]
add ebp, ebx
mov ebx, dword [esp + 0xb4]
add ebp, edx
add ebp, ebx
xor ebp, ecx
xor ebp, edi
xor ebp, 0x4849
cmp eax, ebp
je 0x41c24f
mov eax, dword [0x538374]
mov ecx, dword [0x537c68]
push ebx
push eax
push ecx
push edx
push 0x510fe4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0xc0000100
push 0x1c800000
push 0x2ee0
call fcn.0040a3f0
add esp, 0x24
jmp 0x41be5f
lea edx, [esp + 0x4bc]
push edx
push 0x104
lea eax, [esp + 0xdc8]
push eax
push 0x50d147
push 0x510fd0
call fcn.00404690
add esp, 4
push eax
push esi
call fcn.00437430
push 0x50f708
call fcn.00404690
mov ebx, dword [esp + 0x38]
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcmpA]
add esp, 0x1c
push eax
push ebx
call ebp
test eax, eax
je 0x41c2f4
push 0x50f6dc
call fcn.00404690
add esp, 4
push eax
push ebx
call ebp
test eax, eax
je 0x41c2f4
push 0x50f6ac
call fcn.00404690
add esp, 4
push eax
push ebx
call ebp
test eax, eax
je 0x41c2f4
push 0x50f964
call fcn.00404690
add esp, 4
push eax
push ebx
call ebp
test eax, eax
je 0x41c2f4
push 0x50f958
call fcn.00404690
add esp, 4
push eax
push ebx
call ebp
test eax, eax
jne 0x41c5e1
push 0x50f788
call fcn.00404690
mov ebx, dword [sym.imp.USER32.dll_FindWindowA]
add esp, 4
push eax
push 0
call ebx
push 0x50f764
mov esi, eax
call fcn.00404690
add esp, 4
push eax
push 0
call ebx
push 0x50f73c
mov edi, eax
call fcn.00404690
add esp, 4
push eax
push 0
call ebx
push 0x50f718
mov ebx, eax
call fcn.00404690
add esp, 4
push eax
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
test esi, esi
jne 0x41c553
test edi, edi
jne 0x41c553
test ebx, ebx
jne 0x41c553
test eax, eax
jne 0x41c553
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0xdc0]
push ecx
push edx
call fcn.00414350
add esp, 8
test al, al
jne 0x41c3a1
push 0xc0000102
push 0x1c800004
push 0x2ee0
call fcn.0040a3f0
add esp, 0xc
jmp 0x41be5f
mov ebp, dword [0x537c38]
mov eax, 0x1f53
cmp ebp, eax
je 0x41c537
cmp dword [esp + 0xc8], eax
je 0x41c537
cmp dword [esp + 0xc0], eax
je 0x41c537
mov ebx, dword [esp + 0xcc]
cmp ebx, eax
je 0x41c537
mov edi, dword [esp + 0xdc]
cmp edi, eax
je 0x41c537
mov esi, dword [esp + 0xe8]
cmp esi, eax
je 0x41c537
mov edx, dword [esp + 0xf0]
cmp edx, eax
je 0x41c537
mov ecx, dword [esp + 0xf4]
cmp ecx, eax
je 0x41c537
mov eax, dword [esp + 0xb4]
cmp eax, 1
je 0x41c537
cmp eax, 2
je 0x41c537
cmp eax, 4
je 0x41c537
cmp eax, 7
je 0x41c537
cmp ebp, 0x17c
jne 0x41c486
cmp dword [esp + 0xc8], ebp
jne 0x41c486
cmp dword [esp + 0xc0], ebp
jne 0x41c486
cmp ebx, ebp
jne 0x41c486
cmp edi, ebp
jne 0x41c486
cmp esi, ebp
jne 0x41c486
cmp edx, ebp
jne 0x41c486
cmp ecx, ebp
jne 0x41c486
test eax, eax
jne 0x41c486
mov eax, dword [0x537c5c]
cmp eax, ebp
je 0x41c4b8
cmp eax, 0x1f53
je 0x41c4b8
mov eax, dword [0x527d88]
push 0
push 0
push eax
push 0x50d930
call fcn.00404690
add esp, 4
push eax
push 0x50d147
push 0x510fb8
push 0
push 0
push 0x20
push 2
call fcn.0043c0b0
add esp, 0x28
mov eax, 0x17c
push 0x510fa8
mov dword [0x537c44], 0x3e8
mov dword [esp + 0xb8], 0
mov dword [0x537c38], eax
mov dword [0x537c3c], eax
mov dword [0x537c54], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
call fcn.00404690
mov esi, dword [esp + 0x20]
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcmpA]
add esp, 4
push eax
push esi
call ebp
test eax, eax
jne 0x41c557
mov dword [esp + 0xf8], 0x1f53
jmp 0x41c557
push 0xc0000103
push 0x1c800005
push 0x2ee0
call fcn.0040a3f0
add esp, 0xc
jmp 0x41be5f
mov esi, dword [esp + 0x1c]
push 0x50f964
call fcn.00404690
add esp, 4
push eax
push esi
call ebp
test eax, eax
je 0x41c581
push 0x50f958
call fcn.00404690
add esp, 4
push eax
push esi
call ebp
test eax, eax
jne 0x41c5dd
mov eax, dword [0x537d34]
inc dword [0x537f14]
cmp eax, 3
jbe 0x41c5ba
push 0x50f93c
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0xc0070000
push 0x1caf8028
push 0x2ee0
jmp 0x41be57
mov ecx, dword [0x537f14]
push ecx
push eax
push 0x510f8c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
mov ebx, dword [esp + 0x1c]
mov eax, dword [0x5385d4]
xor edx, edx
xor ebp, ebp
cmp dword [0x537c54], 0x1f53
sete dl
mov dword [0x537c54], edx
cmp eax, ebp
je 0x41c61d
push eax
push 0x510f70
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp dword [0x538374], ebp
je 0x41c781
push 0x103
lea eax, [esp + 0xcc1]
push ebp
push eax
mov byte [esp + 0xcc8], 0
call fcn.004b6dc0
add esp, 0xc
lea ecx, [esp + 0x10c4]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x10c4]
mov byte [esp + eax + 0xcbc], cl
inc eax
test cl, cl
jne 0x41c660
push 0x510f60
call fcn.00404690
add esp, 4
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41c682
lea edi, [esp + 0xcbc]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x41c693
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea edx, [esp + 0xcbc]
and ecx, 3
push ebp
push edx
rep movsb byte es:[edi], byte [esi]
call fcn.004ba516
add esp, 8
cmp eax, 0xffffffff
jne 0x41c6e7
push 0x510f48
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp dword [0x538378], ebp
je 0x41c740
mov dword [0x538374], ebp
mov edi, 1
push edi
lea eax, [esp + 0xcc0]
push eax
mov ecx, 0x538cb8
call fcn.00406500
test al, al
jne 0x41c786
mov esi, dword [0x538cfc]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x510f28
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
cmp dword [0x538378], ebp
je 0x41c75c
mov dword [0x538374], ebp
jmp 0x41c786
push 0xc0020000
push 0x1caf7ca5
push 0x2ee0
call fcn.0040a3f0
add esp, 0xc
jmp 0x41be5f
cmp dword [0x538cfc], 0xd
je 0x41c786
push 0xc0020000
push 0x1caf7d09
push 0x2ee0
call fcn.0040a3f0
add esp, 0xc
jmp 0x41be5f
mov edi, 1
mov eax, 0x800
xor ecx, ecx
lea ecx, [ecx]
mov edx, dword [esp + ecx + 0x4bc]
cmp edx, dword [esp + ecx + 0x11c8]
jne 0x41c7ad
sub eax, 4
add ecx, 4
cmp eax, 4
jae 0x41c790
jmp 0x41c7c5
push 0x510f1c
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
push 0x800
lea eax, [esp + 0x4c0]
push ebp
push eax
call fcn.004b6dc0
mov esi, dword [esp + 0x24]
add esp, 0xc
cmp esi, ebp
je 0x41c80f
push 0x510f0c
call fcn.00404690
add esp, 4
push eax
push ebp
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x41c80f
mov ecx, dword [0x537cc4]
mov dword [esp + 0xb8], ecx
mov dword [0x538364], esi
cmp dword [0x537c74], ebp
je 0x41c842
push 0x510ef0
call fcn.00404690
add esp, 4
push eax
push ebp
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenEventA]
cmp eax, ebp
je 0x41c842
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x537c74], ebp
lea edx, [esp + 0x18]
push edx
mov dword [esp + 0x1c], ebp
call fcn.00412e60
mov esi, eax
add esp, 4
cmp esi, ebp
je 0x41c88f
cmp dword [esp + 0x3b4], ebp
jne 0x41c88f
lea eax, [esi - 1]
cmp eax, 0x62
ja 0x41c8b3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x510ed8
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
jmp 0x41c8b3
mov eax, dword [esp + 0x18]
mov dword [esp + 0xe8], edi
mov dword [0x538650], edi
mov dword [0x538654], eax
cmp eax, 0x3e9
jne 0x41c8b3
mov dword [esp + 0xf8], edi
lea ecx, [esp + 0x18]
push ecx
call fcn.00412d30
add esp, 4
cmp eax, edi
jne 0x41c958
cmp byte [0x53c498], 0
jne 0x41c8d6
call fcn.0043bda0
push 0x510ed0
call fcn.00404690
push eax
push 0x53c498
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x41c936
push 0x510ec8
call fcn.00404690
push eax
push 0x53c498
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x41c936
push 0x510ebc
call fcn.00404690
push eax
push 0x53c498
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x41c936
mov dword [0x538654], 0x3e9
jmp 0x41c946
mov dword [0x538654], 0x3ec
mov dword [0x537c74], ebp
cmp dword [0x537d34], ebp
je 0x41c958
mov dword [0x537d34], 4
mov edx, dword [0x537afc]
mov dword [0x539758], edx
cmp dword [0x537c90], ebp
je 0x41c9e0
lea eax, [esp + 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [esp + 0x84]
movzx ecx, word [esp + 0x86]
imul eax, eax, 0x64
movzx edx, word [esp + 0x8a]
add eax, ecx
mov ecx, dword [0x537c90]
imul eax, eax, 0x64
add eax, edx
cmp ecx, eax
jae 0x41c9e0
push eax
push ecx
push 0x510e90
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0xc0000000
push 0x1caeda88
push 0x4a38
call fcn.0040a3f0
add esp, 0x1c
jmp 0x41be5f
cmp dword [0x537d68], ebp
je 0x41ca13
push str.fdd3eac2
push 0x527e20
call fcn.00401350
push 0xc0000000
push 0x1caeda88
push 0x4a38
call fcn.0040a3f0
add esp, 0x14
jmp 0x41be5f
cmp dword [0x537c68], 2
jne 0x41ca22
mov dword [0x537c64], edi
jmp 0x41ca34
push 0x510e7c
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
lea eax, [esp + 0xa0]
push ebx
push eax
call fcn.004b9ca4
add esp, 0x14
test eax, eax
je 0x41ca9b
push ebx
lea ecx, [esp + 0x98]
push ecx
push 0x510e5c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push 0xc0030000
push 0x1caedaec
push 0x2afa
call fcn.0040a3f0
add esp, 0x1c
jmp 0x41be5f
push 0x510e50
call fcn.00404690
push eax
push 0x53972c
call fcn.004b9ca4
add esp, 0xc
test eax, eax
jne 0x41cade
push 0x510e2c
call fcn.00404690
add esp, 4
push eax
push ebp
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x41cade
mov edi, 1
mov dword [esp + 0xb4], edi
jmp 0x41cae5
mov edi, dword [esp + 0xb4]
mov esi, dword [esp + 0xb8]
cmp esi, ebp
jne 0x41cb33
lea edx, [esp + 0x3b8]
push 0x510e18
push edx
call fcn.00489660
add esp, 8
test al, al
jne 0x41cb25
push 0xc0020000
push 0x1caedb50
push 0x2afa
call fcn.0040a3f0
add esp, 0xc
jmp 0x41be5f
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0xb4]
mov ecx, edi
mov dword [0x5378cc], ecx
cmp dword [0x537d64], ebp
je 0x41cb4c
or ecx, 1
mov dword [0x5378cc], ecx
mov eax, 0x1f55
cmp dword [esp + 0xbc], eax
jne 0x41cb5f
mov dword [0x537c20], eax
mov ebx, 0x17c
cmp dword [esp + 0xc0], ebx
je 0x41cb76
or ecx, 2
mov dword [0x5378cc], ecx
cmp dword [esp + 0xc4], ebx
jne 0x41cb87
cmp dword [0x537d5c], ebp
je 0x41cb90
or ecx, 4
mov dword [0x5378cc], ecx
cmp dword [0x5378d8], ebp
je 0x41cba4
or ecx, 0x200
mov dword [0x5378cc], ecx
mov eax, dword [0x5378dc]
cmp eax, 1
jne 0x41cbb6
or ecx, 0x100
jmp 0x41cbc1
cmp eax, 2
jne 0x41cbc7
or ecx, 0x180
mov dword [0x5378cc], ecx
mov eax, dword [0x537d58]
cmp dword [esp + 0xd8], ebx
jne 0x41cbd9
cmp eax, ebp
je 0x41cbe5
or ecx, 0x8000
mov dword [0x5378cc], ecx
cmp dword [esp + 0xd4], ebx
jne 0x41cbf2
cmp eax, ebp
je 0x41cbfe
or ecx, 0x10000
mov dword [0x5378cc], ecx
cmp dword [esp + 0xd0], ebx
jne 0x41cc0b
cmp eax, ebp
je 0x41cc17
or ecx, 0x20000
mov dword [0x5378cc], ecx
mov eax, dword [0x537d4c]
cmp dword [esp + 0xc8], ebx
jne 0x41cc29
cmp eax, ebp
je 0x41cc35
or ecx, 0x40000
mov dword [0x5378cc], ecx
cmp dword [esp + 0xcc], ebx
jne 0x41cc42
cmp eax, ebp
je 0x41cc4e
or ecx, 0x80000
mov dword [0x5378cc], ecx
cmp dword [esp + 0xdc], ebx
jne 0x41cc5f
cmp dword [0x537d50], ebp
je 0x41cc6b
or ecx, 0x200000
mov dword [0x5378cc], ecx
cmp dword [esp + 0xe4], ebx
je 0x41cc80
or ecx, 0x400000
mov dword [0x5378cc], ecx
cmp dword [esp + 0xe8], ebx
jne 0x41cc91
cmp dword [0x537d54], ebp
je 0x41cc9d
or ecx, 0x800000
mov dword [0x5378cc], ecx
cmp dword [esp + 0xec], ebx
je 0x41ccaf
or ecx, 0x40
mov dword [0x5378cc], ecx
cmp dword [esp + 0xf0], ebx
je 0x41ccc4
or ecx, 0x1000000
mov dword [0x5378cc], ecx
cmp dword [esp + 0xf4], ebx
je 0x41ccd9
or ecx, 0x2000000
mov dword [0x5378cc], ecx
cmp dword [esp + 0xf8], ebx
jne 0x41ccea
cmp dword [0x537d48], ebp
je 0x41ccf6
or ecx, 0x4000000
mov dword [0x5378cc], ecx
mov edx, dword [esp + 0xfc]
cmp edx, ebp
je 0x41cd0d
or ecx, 0x8000000
mov dword [0x5378cc], ecx
cmp dword [esp + 0x100], ebx
je 0x41cd22
or ecx, 0x10000000
mov dword [0x5378cc], ecx
cmp dword [esp + 0x74], ebx
jne 0x41cd30
cmp dword [0x537d6c], ebp
je 0x41cd3c
or ecx, 0x2000
mov dword [0x5378cc], ecx
cmp dword [esp + 0x78], ebx
jne 0x41cd4a
cmp dword [0x537d60], ebp
je 0x41cd56
or ecx, 0x4000
mov dword [0x5378cc], ecx
mov eax, dword [0x537d70]
cmp dword [esp + 0x80], ebx
jne 0x41cd68
cmp eax, ebp
je 0x41cd74
or ecx, 0x1000
mov dword [0x5378cc], ecx
cmp dword [esp + 0x7c], ebp
jne 0x41cd7e
cmp eax, ebp
je 0x41cd8a
or ecx, 0x800
mov dword [0x5378cc], ecx
cmp dword [esp + 0x10c], ebp
je 0x41cd9f
or ecx, 0x20000000
mov dword [0x5378cc], ecx
cmp dword [0x537c3c], ebx
je 0x41cdb1
or dword [0x5378c4], 0x80000
cmp dword [esp + 0x110], ebp
je 0x41cdcd
or ecx, 0x40000000
mov byte [0x537f03], 1
mov dword [0x5378cc], ecx
cmp dword [esp + 0x118], ebx
jne 0x41cdde
cmp dword [0x537d74], ebp
je 0x41cde5
or dword [0x5378c4], 1
mov eax, dword [esp + 0x114]
cmp eax, 1
je 0x41ce00
cmp eax, 2
jne 0x41ce0a
mov dword [0x537c78], 1
or dword [0x5378c4], 0x10000
cmp dword [0x537c8c], 1
jne 0x41ce1d
or dword [0x5378c4], 0x40000
cmp edx, 2
jne 0x41ce2e
or ecx, 0x80000000
mov dword [0x5378cc], ecx
cmp dword [esp + 0x20], ebp
je 0x41ce40
or ecx, 0x400
mov dword [0x5378cc], ecx
cmp dword [esp + 0xe0], ebx
je 0x41ce55
or ecx, 0x100000
mov dword [0x5378cc], ecx
cmp esi, ebp
je 0x41cea3
cmp esi, dword [0x537cc4]
jne 0x41ce71
or dword [0x5378c4], 0x100000
mov dword [0x537c1c], esi
push edi
push esi
push 0x510e08
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
push str.NPGGERR_NPGM_NOUP
push 0xfa1
call fcn.0040c590
mov ecx, dword [0x5378cc]
add esp, 0x18
cmp dword [esp + 0x104], ebp
je 0x41ceb6
or dword [0x5378c4], 0x8000
cmp dword [esp + 0x120], ebx
je 0x41cec9
or dword [0x5378c4], 0x2000000
cmp dword [esp + 0x108], ebp
je 0x41cedc
or dword [0x5378c4], 0x4000
cmp dword [0x537d0c], ebp
je 0x41ceee
or dword [0x5378c4], 0x2000
cmp dword [0x537cf8], ebp
je 0x41cf00
or dword [0x5378c4], 0x20000
cmp dword [0x537d04], ebp
je 0x41cf12
or dword [0x5378c4], 0x1000
cmp dword [0x537d08], ebp
je 0x41cf24
or dword [0x5378c4], 0x200
mov eax, dword [0x537c24]
mov esi, 2
cmp eax, esi
jne 0x41cf3e
or dword [0x5378c4], 0x200000
jmp 0x41cf4d
cmp eax, 1
jne 0x41cf4d
or dword [0x5378c4], 0x400000
cmp dword [0x537c28], ebp
je 0x41cf5f
or dword [0x5378c4], 0x40000000
cmp dword [0x537c18], ebp
je 0x41cf71
or dword [0x5378c4], 0x800000
mov eax, dword [0x537d40]
mov edx, 1
cmp eax, edx
jne 0x41cf8b
or dword [0x5378c4], 0x400
jmp 0x41cf99
cmp eax, esi
jne 0x41cf99
or dword [0x5378c4], 0x800
cmp dword [0x537d44], ebp
je 0x41cfab
or dword [0x5378c4], 0x1000000
cmp dword [0x537f24], edx
jne 0x41cfcf
or dword [0x5378c4], 0x4000000
cmp dword [0x537f28], esi
jne 0x41cfcf
or dword [0x5378c4], 0x8000000
cmp dword [esp + 0x124], ebx
je 0x41cfe1
or ecx, 0x20
mov dword [0x5378cc], ecx
cmp byte [0x53788d], dl
jne 0x41cff3
or dword [0x5378c4], 0x10000000
cmp dword [0x537f2c], edx
jne 0x41d005
or dword [0x5378c4], 0x20000000
cmp dword [0x537d78], ebp
je 0x41d013
or dword [0x5378c4], esi
cmp dword [0x537f20], ebx
je 0x41d025
or dword [0x5378c4], 0x100
mov eax, dword [0x5378c4]
push eax
push ecx
push 0x510de4
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
jmp 0x41d059
mov eax, dword [0x5378bc]
mov edx, dword [0x5378c4]
mov ecx, dword [0x53789c]
xor edx, eax
xor edx, ecx
xor edx, 0x455a4148
mov dword [0x5378c0], edx
mov edx, dword [0x5378cc]
xor edx, eax
mov eax, dword [0x5378cc]
xor edx, ecx
xor edx, 0xae3ccdae
mov dword [0x5378c8], edx
mov edx, eax
mov cl, al
shr edx, 1
shr eax, 2
not cl
not dl
not al
and cl, 1
and dl, 1
and al, 1
mov byte [0x527d8d], cl
mov byte [0x527d8e], dl
mov byte [0x527d8f], al
jmp 0x41d0cf
call fcn.0040c410
mov byte [esp + 0x17], al
call fcn.0040c4d0
mov byte [esp + 0x16], al
call fcn.0040c160
mov bl, al
movzx eax, byte [esp + 0x17]
push eax
push 0x510dd8
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
movzx ecx, byte [esp + 0x22]
add esp, 0xc
push ecx
push 0x510dc8
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
movzx edx, bl
add esp, 0xc
push edx
push 0x510db8
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
test bl, bl
je 0x41d162
cmp byte [esp + 0x17], 0
jne 0x41d15b
cmp byte [esp + 0x16], 0
je 0x41d162
mov byte [0x537dca], 1
mov eax, dword [0x5385f0]
cmp byte [eax], 0xcb
jne 0x41d17c
mov dword [esp + 0x19d4], 0xffffffff
jmp 0x41d553
cmp byte [0x54a134], 0
push 0
je 0x41d18e
push 0x510da8
jmp 0x41d193
push 0x510d98
call fcn.00404690
add esp, 4
push eax
call dword [0x5385f0]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
or ebp, 0xffffffff
cmp esi, ebp
jne 0x41d212
call edi
cmp eax, 5
je 0x41d212
push 0
push 0x510d84
call fcn.00404690
add esp, 4
push eax
call dword [0x5385f0]
mov esi, eax
cmp esi, ebp
jne 0x41d1df
call edi
cmp eax, 5
jne 0x41d24e
push 0x510d70
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp esi, ebp
je 0x41d202
push esi
call dword [0x5385f4]
cmp byte [esp + 0x17], 0
jne 0x41d235
cmp byte [esp + 0x16], 0
je 0x41d24e
jmp 0x41d235
push 0x510d60
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
cmp esi, ebp
je 0x41d235
push esi
call dword [0x5385f4]
push str.NPGGERR_NPGM_DRVHACK
push 0x1389
mov byte [0x537dca], 1
call fcn.0040c590
add esp, 8
cmp dword [0x537c08], 0
je 0x41d51f
call fcn.00415490
cmp eax, 1
jne 0x41d2a8
push 0x510d30
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0xc0000004
push 0x1caedbb4
push 0x36b0
call fcn.0040a3f0
add esp, 0x18
lea ecx, [esp + 0x24]
mov dword [esp + 0x19d4], ebp
call fcn.00405d20
xor al, al
jmp 0x41d55e
cmp eax, 2
jne 0x41d2b4
push 0x510d14
jmp 0x41d26a
cmp dword [0x537c08], 0
je 0x41d49a
push 0
push 0x510d00
xor bl, bl
call fcn.00404690
add esp, 4
push eax
call dword [0x5385f0]
cmp eax, ebp
jne 0x41d2e6
call edi
cmp eax, 5
jne 0x41d307
jmp 0x41d2ed
push eax
call dword [0x5385f4]
push 0x510ce8
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
mov bl, 1
push 0x103
lea ecx, [esp + 0xcc1]
push 0
push ecx
mov byte [esp + 0xcc8], 0
call fcn.004b6dc0
add esp, 0xc
push 0x104
lea edx, [esp + 0xcc0]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push 0x510cd0
call fcn.00404690
add esp, 4
push eax
lea eax, [esp + 0xcc0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0
lea ecx, [esp + 0xcc0]
push ecx
call dword [0x5385f0]
cmp eax, ebp
je 0x41d3ad
push 0
push 0x510cc0
call fcn.00404690
add esp, 4
push eax
call dword [0x5385f0]
cmp eax, ebp
jne 0x41d38c
call edi
cmp eax, 5
jne 0x41d3ad
jmp 0x41d393
push eax
call dword [0x5385f4]
push 0x510ca4
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
mov bl, 1
call fcn.00414400
test bl, bl
jne 0x41d515
cmp byte [0x537e9a], bl
jne 0x41d515
cmp dword [0x537c08], 3
jne 0x41d49a
lea edx, [esp + 0x18]
push edx
push 1
push 0
push 0x510c50
mov dword [esp + 0x30], 0x104
call fcn.00404690
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
add esp, 4
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call esi
test eax, eax
je 0x41d425
lea eax, [esp + 0x18]
push eax
push 1
push 0
push 0x510bf8
call fcn.00404690
add esp, 4
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call esi
test eax, eax
jne 0x41d47c
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0xfc4]
push edx
push 0
push 0
push 0x510be4
call fcn.00404690
add esp, 4
push eax
mov eax, dword [esp + 0x2c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x41d47c
push 0x510bc0
call fcn.00404690
push eax
lea ecx, [esp + 0xfc8]
push ecx
call fcn.004bab59
add esp, 0xc
test eax, eax
jne 0x41d47c
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.004b26c0
test al, al
je 0x41d49a
call fcn.00405010
test al, al
je 0x41d4c7
push 0x510b7c
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0xc0000004
push 0x1caedc18
jmp 0x41d284
call fcn.004050c0
test al, al
jne 0x41d4d9
call fcn.004051a0
test al, al
je 0x41d4e0
push 0x510b68
jmp 0x41d4a8
push 0x510b58
call fcn.00404690
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add esp, 4
push eax
call esi
test eax, eax
jne 0x41d50e
push 0x510b44
call fcn.00404690
add esp, 4
push eax
call esi
test eax, eax
je 0x41d51f
push 0x510b30
jmp 0x41d4a8
push 0x510b18
jmp 0x41d26a
push 0x510b10
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
push 0x510af8
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0x18
mov dword [esp + 0x19d4], ebp
lea ecx, [esp + 0x24]
call fcn.00405d20
mov al, 1
mov ecx, dword [esp + 0x19cc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x19b4]
xor ecx, esp
call fcn.004b6da3
add esp, 0x19c4
ret