Function at 0x401a80
Capabilities:
Check mutex and terminate process on windows
Check mutex on windows
Create mailslot
Create thread
Get session user name
Terminate process
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x490
call fcn.0040431a
test eax, eax
je 0x401a99
push 0
call fcn.00405149
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadLocale]
mov dword [ebp - 0x138], 0
lea eax, [ebp - 0x138]
push eax
push 0
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov ecx, dword [ebp - 0x138]
add ecx, 1
push ecx
call fcn.00405298
add esp, 4
mov dword [ebp - 0x428], eax
mov edx, dword [ebp - 0x428]
mov dword [ebp - 0x164], edx
mov eax, dword [ebp - 0x138]
add eax, 0x20
push eax
call fcn.00405298
add esp, 4
mov dword [ebp - 0x42c], eax
mov ecx, dword [ebp - 0x42c]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x138]
add edx, 0x40
push edx
call fcn.00405298
add esp, 4
mov dword [ebp - 0x430], eax
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x160], eax
lea ecx, [ebp - 0x138]
push ecx
mov edx, dword [ebp - 0x164]
push edx
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
test eax, eax
je 0x401b8a
push 0x40f0a4
mov eax, dword [ebp - 0x164]
push eax
push 0x40f0b0
mov ecx, dword [ebp - 0x11c]
push ecx
call fcn.00405246
add esp, 0x10
push 0x40f0b8
mov edx, dword [ebp - 0x164]
push edx
push 0x40f0cc
push 0x40f0dc
mov eax, dword [ebp - 0x160]
push eax
call fcn.00405246
add esp, 0x14
jmp 0x401bc1
push 0x40f0e4
push 0x40f0f0
mov ecx, dword [ebp - 0x11c]
push ecx
call fcn.00405246
add esp, 0xc
push 0x40f0f4
push 0x40f108
push 0x40f118
mov edx, dword [ebp - 0x160]
push edx
call fcn.00405246
add esp, 0x10
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0x434]
push ecx
call fcn.0040523b
add esp, 4
mov edx, dword [ebp - 0x11c]
push edx
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x410858], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x438], eax
mov ecx, dword [ebp - 0x438]
push ecx
call fcn.0040523b
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x401e68
mov dword [ebp - 0x174], 0
push 0
push 0x80
push 3
push 0
push 1
push 0x40000000
mov edx, dword [ebp - 0x160]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x17c], eax
cmp dword [ebp - 0x17c], 0xffffffff
jne 0x401cb7
mov dword [ebp - 0x180], 0
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0x80
push 3
push 0
push 1
push 0x40000000
mov eax, dword [ebp - 0x160]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x17c], eax
mov ecx, dword [ebp - 0x180]
add ecx, 0x64
mov dword [ebp - 0x180], ecx
cmp dword [ebp - 0x17c], 0xffffffff
jne 0x401cb1
cmp dword [ebp - 0x180], 0x7d0
jle 0x401c60
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [ebp - 0x17c], 0
jne 0x401cef
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x43c], edx
mov eax, dword [ebp - 0x43c]
push eax
call fcn.0040523b
add esp, 4
mov ecx, dword [0x410858]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push 0
call fcn.00405149
cmp dword [0x410888], 1
jg 0x401d8d
push 0
lea edx, [ebp - 0x174]
push edx
push 0x40f120
call fcn.0040521e
add esp, 4
shl eax, 1
push eax
push 0x40f128
mov eax, dword [ebp - 0x17c]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0
lea ecx, [ebp - 0x174]
push ecx
push 0x40f130
call fcn.0040521e
add esp, 4
shl eax, 1
push eax
push 0x40f140
mov edx, dword [ebp - 0x17c]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [ebp - 0x17c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0x440], ecx
mov edx, dword [ebp - 0x440]
push edx
call fcn.0040523b
add esp, 4
mov eax, dword [0x410858]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push 0
call fcn.00405149
mov dword [ebp - 0x178], 1
jmp 0x401da8
mov ecx, dword [ebp - 0x178]
add ecx, 1
mov dword [ebp - 0x178], ecx
mov edx, dword [ebp - 0x178]
cmp edx, dword [0x410888]
jge 0x401df9
push 0
lea eax, [ebp - 0x174]
push eax
mov ecx, dword [ebp - 0x178]
mov edx, dword [0x410890]
mov eax, dword [edx + ecx*4]
push eax
call fcn.0040521e
add esp, 4
shl eax, 1
push eax
mov ecx, dword [ebp - 0x178]
mov edx, dword [0x410890]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x17c]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x401d99
push 0
lea edx, [ebp - 0x174]
push edx
push 0x40f150
call fcn.0040521e
add esp, 4
shl eax, 1
push eax
push 0x40f160
mov eax, dword [ebp - 0x17c]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [ebp - 0x17c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x444], edx
mov eax, dword [ebp - 0x444]
push eax
call fcn.0040523b
add esp, 4
mov ecx, dword [0x410858]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push 0
call fcn.00405149
cmp dword [0x410858], 0
jne 0x401e99
push 0x40f170
lea edx, [ebp - 0x200]
push edx
call fcn.00405246
add esp, 8
push 0xb7
lea eax, [ebp - 0x200]
push eax
call fcn.00403fe4
add esp, 8
mov dword [ebp - 0x144], 0
call fcn.00404169
test eax, eax
jne 0x401f3f
cmp dword [0x410888], 2
jl 0x401f09
push 0x40f190
mov ecx, dword [0x410890]
mov edx, dword [ecx + 4]
push edx
call fcn.004050e7
add esp, 8
test eax, eax
je 0x401f3f
push 0x40f198
mov eax, dword [0x410890]
mov ecx, dword [eax + 4]
push ecx
call fcn.004050e7
add esp, 8
test eax, eax
je 0x401f3f
push 0x40f1a0
mov edx, dword [0x410890]
mov eax, dword [edx + 4]
push eax
call fcn.004050e7
add esp, 8
test eax, eax
je 0x401f3f
mov dword [ebp - 0x204], 0
lea ecx, [ebp - 0x204]
push ecx
push 0
mov edx, dword [ebp + 8]
push edx
push 0x401407
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x144], 1
push 0
push 0xffffffffffffffff
push 0
mov eax, dword [ebp - 0x160]
push eax
call dword [sym.imp.KERNEL32.dll_CreateMailslotA]
mov dword [0x410850], eax
cmp dword [0x410850], 0xffffffff
jne 0x401fa1
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x401fa1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x40f1a8
lea ecx, [ebp - 0x284]
push ecx
call fcn.00405246
add esp, 0xc
push 0xe3
lea edx, [ebp - 0x284]
push edx
call fcn.00403fe4
add esp, 8
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0x104
call fcn.00405298
add esp, 4
mov dword [ebp - 0x448], eax
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x134], eax
push 0x104
call fcn.00405298
add esp, 4
mov dword [ebp - 0x44c], eax
mov ecx, dword [ebp - 0x44c]
mov dword [ebp - 0x15c], ecx
push 0x104
call fcn.00405298
add esp, 4
mov dword [ebp - 0x450], eax
mov edx, dword [ebp - 0x450]
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x118]
push eax
mov ecx, dword [ebp - 0x15c]
push ecx
mov edx, dword [ebp - 0x134]
push edx
call fcn.004042b5
add esp, 0xc
test eax, eax
jne 0x402055
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x40f1e4
lea eax, [ebp - 0x304]
push eax
call fcn.00405246
add esp, 0xc
push 0xf7
lea ecx, [ebp - 0x304]
push ecx
call fcn.00403fe4
add esp, 8
push 0
call fcn.00405149
mov word [ebp - 4], 0
push 0x200
call fcn.00405298
add esp, 4
mov dword [ebp - 0x454], eax
mov edx, dword [ebp - 0x454]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x134]
push eax
call fcn.004049a0
add esp, 4
mov ecx, dword [ebp - 0x134]
movsx edx, byte [ecx + eax - 1]
cmp edx, 0x5c
je 0x4020b8
mov eax, dword [ebp - 0x134]
push eax
call fcn.004049a0
add esp, 4
mov ecx, dword [ebp - 0x134]
movsx edx, byte [ecx + eax - 1]
cmp edx, 0x2f
jne 0x4020da
push 0x40f224
mov eax, dword [ebp - 0x134]
push eax
push 0x40f234
mov ecx, dword [ebp - 0x128]
push ecx
call fcn.00405246
add esp, 0x10
jmp 0x4020fa
push 0x40f24c
mov edx, dword [ebp - 0x134]
push edx
push 0x40f25c
mov eax, dword [ebp - 0x128]
push eax
call fcn.00405246
add esp, 0x10
mov ecx, dword [ebp - 0x128]
push ecx
call fcn.00408f25
add esp, 4
mov edx, dword [ebp - 4]
and edx, 0xffff
mov dword [ebp + edx*8 - 0x114], eax
mov ax, word [ebp - 4]
add ax, 1
mov word [ebp - 4], ax
mov ecx, dword [ebp - 4]
and ecx, 0xffff
mov dword [ebp + ecx*8 - 0x114], 0x40f274
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
mov eax, dword [ebp - 0x15c]
push eax
push 0x40f280
mov ecx, dword [ebp - 0x128]
push ecx
call fcn.00405246
add esp, 0xc
mov edx, dword [ebp - 0x128]
push edx
call fcn.00408f25
add esp, 4
mov ecx, dword [ebp - 4]
and ecx, 0xffff
mov dword [ebp + ecx*8 - 0x114], eax
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
mov eax, dword [ebp - 4]
and eax, 0xffff
mov dword [ebp + eax*8 - 0x114], 0x40f290
mov cx, word [ebp - 4]
add cx, 1
mov word [ebp - 4], cx
mov edx, dword [ebp - 4]
and edx, 0xffff
mov dword [ebp + edx*8 - 0x114], 0x40f2ac
mov ax, word [ebp - 4]
add ax, 1
mov word [ebp - 4], ax
mov ecx, dword [ebp - 4]
and ecx, 0xffff
mov dword [ebp + ecx*8 - 0x114], 0x40f2bc
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
mov eax, dword [ebp - 4]
and eax, 0xffff
mov dword [ebp + eax*8 - 0x114], 0x40f2e0
mov cx, word [ebp - 4]
add cx, 1
mov word [ebp - 4], cx
mov edx, dword [ebp - 4]
and edx, 0xffff
mov dword [ebp + edx*8 - 0x114], 0x40f2e8
mov ax, word [ebp - 4]
add ax, 1
mov word [ebp - 4], ax
mov ecx, dword [ebp - 4]
and ecx, 0xffff
mov dword [ebp + ecx*8 - 0x114], 0x40f2f8
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
mov eax, dword [ebp - 4]
and eax, 0xffff
mov dword [ebp + eax*8 - 0x114], 0x40f308
mov cx, word [ebp - 4]
add cx, 1
mov word [ebp - 4], cx
mov edx, dword [ebp - 4]
and edx, 0xffff
mov dword [ebp + edx*8 - 0x114], 0x40f31c
mov ax, word [ebp - 4]
add ax, 1
mov word [ebp - 4], ax
mov ecx, dword [ebp - 4]
and ecx, 0xffff
mov dword [ebp + ecx*8 - 0x114], 0x40f32c
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
mov eax, dword [ebp - 4]
and eax, 0xffff
mov dword [ebp + eax*8 - 0x114], 0x40f340
mov cx, word [ebp - 4]
add cx, 1
mov word [ebp - 4], cx
mov edx, dword [ebp - 4]
and edx, 0xffff
mov dword [ebp + edx*8 - 0x114], 0x40f358
mov ax, word [ebp - 4]
add ax, 1
mov word [ebp - 4], ax
mov ecx, dword [ebp - 4]
and ecx, 0xffff
mov dword [ebp + ecx*8 - 0x114], 0x40f370
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
mov eax, dword [ebp - 0x134]
push eax
call fcn.004049a0
add esp, 4
mov ecx, dword [ebp - 0x134]
movsx edx, byte [ecx + eax - 1]
cmp edx, 0x5c
je 0x402345
mov eax, dword [ebp - 0x134]
push eax
call fcn.004049a0
add esp, 4
mov ecx, dword [ebp - 0x134]
movsx edx, byte [ecx + eax - 1]
cmp edx, 0x2f
jne 0x402362
mov eax, dword [ebp - 0x134]
push eax
push 0x40f38c
mov ecx, dword [ebp - 0x128]
push ecx
call fcn.00405246
add esp, 0xc
jmp 0x40237d
mov edx, dword [ebp - 0x134]
push edx
push 0x40f3a4
mov eax, dword [ebp - 0x128]
push eax
call fcn.00405246
add esp, 0xc
push 0x40f3bc
mov ecx, dword [ebp - 0x128]
push ecx
call fcn.004050d4
add esp, 8
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 0
je 0x4027b6
mov byte [ebp - 0x308], 0
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x414], 0
mov edx, dword [ebp - 0x308]
and edx, 0xff
test edx, edx
jne 0x4027a7
mov eax, dword [ebp - 0x168]
push eax
push 0x104
lea ecx, [ebp - 0x40c]
push ecx
call fcn.0040505d
add esp, 0xc
test eax, eax
je 0x4027a7
mov dword [ebp - 0x410], 0
jmp 0x402411
mov edx, dword [ebp - 0x410]
add edx, 1
mov dword [ebp - 0x410], edx
lea eax, [ebp - 0x40c]
push eax
call fcn.004049a0
add esp, 4
cmp dword [ebp - 0x410], eax
jae 0x402525
movsx ecx, byte [ebp - 0x40c]
cmp ecx, 0xa
je 0x402450
movsx edx, byte [ebp - 0x40c]
cmp edx, 9
je 0x402450
movsx eax, byte [ebp - 0x40c]
cmp eax, 0x20
jne 0x4024b5
mov dword [ebp - 0x414], 0
jmp 0x40246b
mov ecx, dword [ebp - 0x414]
add ecx, 1
mov dword [ebp - 0x414], ecx
lea edx, [ebp - 0x40c]
push edx
call fcn.004049a0
add esp, 4
cmp dword [ebp - 0x414], eax
jae 0x40249e
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0x414]
mov dl, byte [ebp + ecx - 0x40b]
mov byte [ebp + eax - 0x40c], dl
jmp 0x40245c
lea eax, [ebp - 0x40c]
push eax
call fcn.004049a0
add esp, 4
mov byte [ebp + eax - 0x40d], 0
lea ecx, [ebp - 0x40c]
push ecx
call fcn.004049a0
add esp, 4
movsx edx, byte [ebp + eax - 0x40d]
cmp edx, 0xa
je 0x402509
lea eax, [ebp - 0x40c]
push eax
call fcn.004049a0
add esp, 4
movsx ecx, byte [ebp + eax - 0x40d]
cmp ecx, 9
je 0x402509
lea edx, [ebp - 0x40c]
push edx
call fcn.004049a0
add esp, 4
movsx eax, byte [ebp + eax - 0x40d]
cmp eax, 0x20
jne 0x402520
lea ecx, [ebp - 0x40c]
push ecx
call fcn.004049a0
add esp, 4
mov byte [ebp + eax - 0x40d], 0
jmp 0x402402
movsx edx, byte [ebp - 0x40c]
cmp edx, 0x23
jne 0x402536
jmp 0x4023bf
push 0x40f3c0
call fcn.004049a0
add esp, 4
push eax
push 0x40f3cc
lea eax, [ebp - 0x40c]
push eax
call fcn.00404fb0
add esp, 0xc
test eax, eax
je 0x402586
push 0x40f3d8
call fcn.004049a0
add esp, 4
push eax
push 0x40f3e4
lea ecx, [ebp - 0x40c]
push ecx
call fcn.00404fb0
add esp, 0xc
test eax, eax
jne 0x4027a2
mov edx, dword [ebp - 0x168]
push edx
push 0x104
lea eax, [ebp - 0x40c]
push eax
call fcn.0040505d
add esp, 0xc
test eax, eax
je 0x4027a2
mov dword [ebp - 0x410], 0
jmp 0x4025c4
mov ecx, dword [ebp - 0x410]
add ecx, 1
mov dword [ebp - 0x410], ecx
lea edx, [ebp - 0x40c]
push edx
call fcn.004049a0
add esp, 4
cmp dword [ebp - 0x410], eax
jae 0x4026d8
movsx eax, byte [ebp - 0x40c]
cmp eax, 0xa
je 0x402603
movsx ecx, byte [ebp - 0x40c]
cmp ecx, 9
je 0x402603
movsx edx, byte [ebp - 0x40c]
cmp edx, 0x20
jne 0x402668
mov dword [ebp - 0x414], 0
jmp 0x40261e
mov eax, dword [ebp - 0x414]
add eax, 1
mov dword [ebp - 0x414], eax
lea ecx, [ebp - 0x40c]
push ecx
call fcn.004049a0
add esp, 4
cmp dword [ebp - 0x414], eax
jae 0x402651
mov edx, dword [ebp - 0x414]
mov eax, dword [ebp - 0x414]
mov cl, byte [ebp + eax - 0x40b]
mov byte [ebp + edx - 0x40c], cl
jmp 0x40260f
lea edx, [ebp - 0x40c]
push edx
call fcn.004049a0
add esp, 4
mov byte [ebp + eax - 0x40d], 0
lea eax, [ebp - 0x40c]
push eax
call fcn.004049a0
add esp, 4
movsx ecx, byte [ebp + eax - 0x40d]
cmp ecx, 0xa
je 0x4026bc
lea edx, [ebp - 0x40c]
push edx
call fcn.004049a0
add esp, 4
movsx eax, byte [ebp + eax - 0x40d]
cmp eax, 9
je 0x4026bc
lea ecx, [ebp - 0x40c]
push ecx
call fcn.004049a0
add esp, 4
movsx edx, byte [ebp + eax - 0x40d]
cmp edx, 0x20
jne 0x4026d3
lea eax, [ebp - 0x40c]
push eax
call fcn.004049a0
add esp, 4
mov byte [ebp + eax - 0x40d], 0
jmp 0x4025b5
movsx ecx, byte [ebp - 0x40c]
cmp ecx, 0x5b
je 0x4026f0
movsx edx, byte [ebp - 0x40c]
cmp edx, 0x3c
jne 0x4026fc
mov byte [ebp - 0x308], 1
jmp 0x4027a2
lea eax, [ebp - 0x40c]
push eax
call fcn.00404557
add esp, 4
push eax
push 0x40f3f0
mov ecx, dword [ebp - 0x128]
push ecx
call fcn.00405246
add esp, 0xc
push 0x410860
mov edx, dword [ebp - 0x128]
push edx
call fcn.00404f20
add esp, 8
test eax, eax
je 0x402787
mov eax, dword [ebp - 0x128]
movsx ecx, byte [eax]
cmp ecx, 0x2d
jne 0x402787
mov edx, dword [ebp - 0x128]
push edx
call fcn.00408f25
add esp, 4
mov ecx, dword [ebp - 4]
and ecx, 0xffff
mov dword [ebp + ecx*8 - 0x114], eax
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
mov eax, dword [ebp - 4]
and eax, 0xffff
cmp eax, 0x20
jl 0x402787
mov byte [ebp - 0x308], 1
jmp 0x4027a2
push 0x104
push 0
lea ecx, [ebp - 0x40c]
push ecx
call fcn.00404ec0
add esp, 0xc
jmp 0x402586
jmp 0x4023bf
mov edx, dword [ebp - 0x168]
push edx
call fcn.00404e66
add esp, 4
push 0xd
push 0
lea eax, [ebp - 0x14]
push eax
call fcn.00404ec0
add esp, 0xc
mov dword [ebp - 0x14], 0x10004
mov ecx, dword [ebp - 4]
and ecx, 0xffff
mov dword [ebp - 0x10], ecx
lea edx, [ebp - 0x114]
mov dword [ebp - 0xc], edx
mov byte [ebp - 8], 1
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0
push 0x40f3f4
call fcn.00404de9
add esp, 4
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je 0x402896
mov eax, dword [ebp - 0x130]
push eax
call fcn.004049a0
add esp, 4
add eax, 0x104
push eax
call fcn.0040482e
add esp, 4
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], 0
je 0x402896
mov ecx, dword [ebp - 0x134]
push ecx
mov edx, dword [ebp - 0x130]
push edx
push 0x40f3fc
mov eax, dword [ebp - 0x418]
push eax
call fcn.00405246
add esp, 0x10
mov ecx, dword [ebp - 0x418]
push ecx
call fcn.00404d55
add esp, 4
mov edx, dword [ebp - 0x418]
push edx
call fcn.004047ff
add esp, 4
lea eax, [ebp - 0x170]
push eax
mov ecx, dword [ebp - 0x118]
push ecx
call fcn.00403038
add esp, 8
and eax, 0xff
test eax, eax
jne 0x40293e
push 0x1a4
push 0x40f410
call fcn.00403fe4
add esp, 8
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 0x458]
push eax
call fcn.0040523b
add esp, 4
mov ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x45c], ecx
mov edx, dword [ebp - 0x45c]
push edx
call fcn.0040523b
add esp, 4
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x460]
push ecx
call fcn.0040523b
add esp, 4
mov edx, dword [ebp - 0x128]
mov dword [ebp - 0x464], edx
mov eax, dword [ebp - 0x464]
push eax
call fcn.0040523b
add esp, 4
push 1
call fcn.00405149
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x13c]
push edx
lea eax, [ebp - 0x158]
push eax
call dword [ebp - 0x170]
test eax, eax
je 0x4029e3
push 0x1b1
push 0x40f430
call fcn.00403fe4
add esp, 8
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x468], ecx
mov edx, dword [ebp - 0x468]
push edx
call fcn.0040523b
add esp, 4
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x46c]
push ecx
call fcn.0040523b
add esp, 4
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0x470], edx
mov eax, dword [ebp - 0x470]
push eax
call fcn.0040523b
add esp, 4
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x474], ecx
mov edx, dword [ebp - 0x474]
push edx
call fcn.0040523b
add esp, 4
push 1
call fcn.00405149
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x120], 1
push 0x104
call fcn.00405298
add esp, 4
mov dword [ebp - 0x478], eax
mov eax, dword [ebp - 0x478]
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x134]
push ecx
call fcn.004049a0
add esp, 4
mov edx, dword [ebp - 0x134]
movsx eax, byte [edx + eax - 1]
cmp eax, 0x5c
je 0x402a54
mov ecx, dword [ebp - 0x134]
push ecx
call fcn.004049a0
add esp, 4
mov edx, dword [ebp - 0x134]
movsx eax, byte [edx + eax - 1]
cmp eax, 0x2f
jne 0x402a76
push 0x40f450
mov ecx, dword [ebp - 0x134]
push ecx
push 0x40f460
mov edx, dword [ebp - 0x150]
push edx
call fcn.00405246
add esp, 0x10
jmp 0x402a96
push 0x40f468
mov eax, dword [ebp - 0x134]
push eax
push 0x40f478
mov ecx, dword [ebp - 0x150]
push ecx
call fcn.00405246
add esp, 0x10
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0x47c], edx
mov eax, dword [ebp - 0x47c]
push eax
call fcn.0040523b
add esp, 4
mov ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x480], ecx
mov edx, dword [ebp - 0x480]
push edx
call fcn.0040523b
add esp, 4
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x484], eax
mov ecx, dword [ebp - 0x484]
push ecx
call fcn.0040523b
add esp, 4
mov edx, dword [ebp - 0x128]
mov dword [ebp - 0x488], edx
mov eax, dword [ebp - 0x488]
push eax
call fcn.0040523b
add esp, 4
cmp dword [ebp - 0x150], 0
je 0x402c52
mov ecx, dword [ebp - 0x150]
push ecx
mov edx, dword [ebp - 0x13c]
push edx
call fcn.004030f8
add esp, 8
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x48c], eax
mov ecx, dword [ebp - 0x48c]
push ecx
call fcn.0040523b
add esp, 4
mov ecx, dword [ebp - 0x13c]
call fcn.00403ba0
test eax, eax
je 0x402b71
push 0x1e2
push 0x40f480
call fcn.00403fe4
add esp, 8
mov dword [ebp - 0x120], 0
cmp dword [ebp - 0x14c], 0
jne 0x402b96
push 0x1e8
push 0x40f4bc
call fcn.00403fe4
add esp, 8
mov dword [ebp - 0x120], 0
cmp dword [ebp - 0x120], 0
je 0x402be6
push 0
mov edx, dword [ebp - 0x14c]
push edx
mov ecx, dword [ebp - 0x13c]
call fcn.00403c70
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0
jne 0x402be4
push 0x1f1
push 0x40f4e8
call fcn.00403fe4
add esp, 8
mov ecx, dword [ebp - 0x13c]
call fcn.00403bc0
jmp 0x40302d
jmp 0x402bf0
mov dword [ebp - 0x154], 0x40f510
mov eax, dword [ebp - 0x154]
push eax
mov ecx, dword [ebp - 0x13c]
push ecx
call fcn.00403354
add esp, 8
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
jne 0x402c37
push 0x200
push 0x40f52c
call fcn.00403fe4
add esp, 8
mov ecx, dword [ebp - 0x13c]
call fcn.00403bc0
jmp 0x403028
mov edx, dword [ebp - 0x154]
push edx
mov eax, dword [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x13c]
call fcn.00403ca0
jmp 0x402c74
push 0x209
push 0x40f54c
call fcn.00403fe4
add esp, 8
mov ecx, dword [ebp - 0x13c]
call fcn.00403bc0
jmp 0x403023
push 0x40f57c
push 0x40f594
mov ecx, dword [ebp - 0x124]
push ecx
mov ecx, dword [ebp - 0x13c]
call fcn.00403be0
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
jne 0x402cb6
push 0x214
push 0x40f59c
call fcn.00403fe4
add esp, 8
jmp 0x40301e
mov edx, dword [0x410888]
sub edx, 1
test edx, edx
jle 0x402dbe
push 0
push 0x40f5c8
mov ecx, dword [ebp - 0x13c]
call fcn.00403b80
push eax
mov eax, dword [0x410888]
sub eax, 1
push eax
mov ecx, dword [ebp - 0x13c]
call fcn.00403cd0
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0
jne 0x402d14
push 0x220
push 0x40f5dc
call fcn.00403fe4
add esp, 8
jmp 0x402dbc
mov dword [ebp - 0x41c], 0
jmp 0x402d2f
mov ecx, dword [ebp - 0x41c]
add ecx, 1
mov dword [ebp - 0x41c], ecx
mov edx, dword [0x410888]
sub edx, 1
cmp dword [ebp - 0x41c], edx
jge 0x402dbc
mov eax, dword [ebp - 0x41c]
mov ecx, dword [0x410890]
mov edx, dword [ecx + eax*4 + 4]
push edx
call fcn.0040521e
add esp, 4
push eax
mov eax, dword [ebp - 0x41c]
mov ecx, dword [0x410890]
mov edx, dword [ecx + eax*4 + 4]
push edx
mov ecx, dword [ebp - 0x13c]
call fcn.00403c40
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0
jne 0x402d97
push 0x234
push 0x40f60c
call fcn.00403fe4
add esp, 8
mov eax, dword [ebp - 0x420]
push eax
mov ecx, dword [ebp - 0x41c]
push ecx
mov edx, dword [ebp - 0x140]
push edx
mov ecx, dword [ebp - 0x13c]
call fcn.00403d00
jmp 0x402d20
jmp 0x402dc8
mov dword [ebp - 0x140], 0
cmp dword [ebp - 0x144], 0
je 0x402e0f
cmp dword [0x41085c], 0
jne 0x402e0f
mov dword [ebp - 0x424], 0
cmp dword [0x41085c], 0
jne 0x402e0f
cmp dword [ebp - 0x424], 0x1e
jge 0x402e0f
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x424]
add eax, 1
mov dword [ebp - 0x424], eax
jmp 0x402de4
cmp dword [0x41085c], 0
je 0x402e44
push 0
push 0x1388
push 0x64
mov ecx, dword [0x41085c]
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
mov edx, dword [0x41085c]
push edx
mov eax, dword [ebp - 0x13c]
push eax
call fcn.0040395b
add esp, 8
mov ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x148]
push edx
mov eax, dword [ebp - 0x124]
push eax
mov ecx, dword [ebp - 0x13c]
push ecx
call fcn.00403c10
add esp, 0x10
mov edx, dword [0x41085c]
push edx
mov eax, dword [ebp - 0x13c]
push eax
call fcn.004039c4
add esp, 8
cmp dword [0x41085c], 0
je 0x402f04
push 0x64
mov ecx, dword [0x41085c]
push ecx
call dword [sym.imp.USER32.dll_KillTimer]
mov edx, dword [0x41085c]
push edx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x402ec9
push 0
push 0
push 0x12
mov eax, dword [0x41085c]
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x402eed
mov ecx, dword [0x41085c]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x402eed
push 0
push 0
push 0x12
mov edx, dword [0x41085c]
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp - 0x12c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x41085c], 0
mov ecx, dword [ebp - 0x13c]
call fcn.00403ba0
test eax, eax
je 0x402f25
push 0x26c
push 0x40f638
call fcn.00403fe4
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
mov ecx, dword [ebp - 0x160]
push ecx
mov edx, dword [ebp - 0x13c]
push edx
call fcn.00403420
mov ecx, dword [ebp - 0x158]
call fcn.00403d50
cmp dword [0x41085c], 0
je 0x402fb3
mov eax, dword [0x41085c]
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x402f90
push 0
push 0
push 0x12
mov ecx, dword [0x41085c]
push ecx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x402fb3
mov edx, dword [0x41085c]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x402fb3
push 0
push 0
push 0x12
mov eax, dword [0x41085c]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [ebp - 0x160], 0
je 0x402fd7
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0x490], ecx
mov edx, dword [ebp - 0x490]
push edx
call fcn.0040523b
add esp, 4
cmp dword [0x410850], 0
je 0x402fec
mov eax, dword [0x410850]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x410858], 0
je 0x403002
mov ecx, dword [0x410858]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x158]
call fcn.00403d30
mov edx, dword [0x410854]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
jmp 0x403032
jmp 0x402f54
jmp 0x402f54
jmp 0x402f54
jmp 0x402f54
mov esp, ebp
pop ebp
ret 0x10