Function at 0x419cd0
Capabilities:
Accept command line arguments
Authenticate hmac
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov dword [ebp - 0x2c], 0x22
mov dword [ebp - 0xc], 0x2a
mov dword [ebp - 4], 0x43
mov dword [ebp - 0x10], 0x54
mov dword [ebp - 0x44], 0x5e
mov dword [ebp - 0x58], 0x4a
mov dword [ebp - 0x1c], 0x38
mov dword [ebp - 8], 0x63
mov dword [ebp - 0x24], 0x34
mov dword [ebp - 0x60], 0x2f
mov dword [ebp - 0x54], 0x1d
mov dword [ebp - 0x34], 0x62
mov dword [ebp - 0x18], 0x5c
mov dword [ebp - 0x4c], 0x54
mov dword [ebp - 0x84], 0x40
mov dword [ebp - 0x14], 0x3d
mov dword [ebp - 0x64], 0x14
mov dword [ebp - 0x78], 0x49
mov dword [ebp - 0x30], 0x64
mov dword [ebp - 0x48], 0xe
mov dword [ebp - 0x3c], 0x3d
mov dword [ebp - 0x50], 0x20
mov dword [ebp - 0x5c], 0x14
mov dword [ebp - 0x40], 0x43
mov dword [ebp - 0x88], 0x19
mov dword [ebp - 0x28], 0x5e
mov dword [ebp - 0x20], 0x52
mov dword [ebp - 0x70], 0x29
mov dword [ebp - 0x38], 0x4b
mov eax, dword [ebp - 0x2c]
and eax, dword [ebp + 0x28]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 4]
and edx, dword [ebp - 0xc]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
and eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x44]
sub ecx, dword [ebp - 4]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x58]
xor edx, dword [ebp - 4]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x58]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x24]
or edx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x60]
xor eax, dword [ebp - 8]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x54]
sub ecx, dword [ebp - 4]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x1c]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x4c]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x84]
xor edx, dword [ebp - 0x18]
mov dword [ebp - 0x84], edx
mov eax, dword [ebp - 0x14]
or eax, dword [ebp - 0x4c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x64]
or ecx, dword [ebp - 0xc]
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x78]
and edx, dword [ebp - 0x18]
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 4]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x40]
or edx, dword [ebp - 0x34]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x88]
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x28]
xor ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x20]
or edx, dword [ebp - 0x34]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x38]
or ecx, dword [ebp - 0x18]
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x3c], 0x4c
jge 0x419f19
push 0xa505
push 0xd83c
push 0x6dda
push 0x5e5d
call dword [sym.imp.USER32.dll_CreateDialogParamA]
add esp, 0x10
cmp dword [ebp - 0x60], 0x5f
jle 0x419eed
mov edx, dword [ebp - 0x20]
sub edx, 1
mov dword [ebp - 0x20], edx
push 0x3649
push 0xa114
push 0xb6fe
push 0xe8b5
push 0xa353
push 0x148bc
push 0x14394
call dword [sym.imp.USER32.dll_PostMessageA]
add esp, 0x1c
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x24], 0x35
jl 0x419ebb
cmp dword [ebp - 0x28], 0x5f
jge 0x419fa7
cmp dword [ebp - 0x20], 0x14
je 0x419f64
cmp dword [ebp - 0x64], 0x42
jle 0x419f64
push 0x26a9
push 0x17ac4
push 0x5087
call dword [sym.imp.USER32.dll_DefWindowProcA]
add esp, 0xc
mov edx, dword [ebp - 8]
or edx, 9
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
cmp dword [ebp - 8], 0x2d
je 0x419fa5
cmp dword [ebp - 0x20], 0x5b
jne 0x419fa5
cmp dword [ebp - 0x24], 4
je 0x419f88
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
push 0x9ae8
push 0x9e3c
push 0xfe12
push 0x1382c
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
add esp, 0x10
jmp 0x419f31
mov dword [ebp - 0x68], 0
jmp 0x419fb9
mov edx, dword [ebp - 0x68]
add edx, 1
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x28]
sub eax, 0x5e
cmp dword [ebp - 0x68], eax
jge 0x41a049
cmp dword [ebp - 0x50], 0x25
je 0x41a044
cmp dword [ebp - 0x34], 0x43
je 0x41a044
cmp dword [ebp - 0x3c], 0x28
je 0x41a044
cmp dword [ebp + 0x20], 1
je 0x41a044
cmp dword [ebp - 0x18], 0x4b
jle 0x41a044
cmp dword [ebp + 0x1c], 0x16
je 0x41a044
cmp dword [ebp - 0x2c], 0x4c
jne 0x41a044
push 0x6df7
push 0x8aa
push 0x3764
push 0xe6da
push 0xf382
push 0x120cb
push 0x4f5f
push 0x57b5
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
add esp, 0x20
cmp dword [ebp + 0x14], 0x11
jge 0x41a044
cmp dword [ebp - 0x38], 0x17
je 0x41a03e
cmp dword [ebp + 0x20], 0x38
je 0x41a03e
mov ecx, dword [ebp + 0x28]
or ecx, 0x22
mov dword [ebp + 0x28], ecx
call dword [sym.imp.USER32.dll_GetMenuItemInfoA]
jmp 0x419fb0
mov edx, dword [ebp - 4]
and edx, 0x5e
mov dword [ebp - 4], edx
mov dword [ebp - 0x6c], 0
jmp 0x41a064
mov eax, dword [ebp - 0x6c]
add eax, 1
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x54]
sub ecx, 0x1a
cmp dword [ebp - 0x6c], ecx
jge 0x41a0d2
cmp dword [ebp - 0x14], 0x36
je 0x41a0d0
cmp dword [ebp - 8], 0x51
je 0x41a0d0
cmp dword [ebp - 0x40], 0x1e
je 0x41a0d0
cmp dword [ebp - 8], 0x4b
jne 0x41a0d0
push 0xf60a
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add esp, 4
cmp dword [ebp - 0x70], 0x56
jge 0x41a0d0
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
push 0xd826
push 0x10e74
push 0x1724a
push 0x167f4
push 0xb20d
push 0x28c8
push 0xbec4
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
add esp, 0x1c
jmp 0x41a05b
mov dword [ebp - 0x74], 0
jmp 0x41a0e4
mov eax, dword [ebp - 0x74]
add eax, 1
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 4]
sub ecx, 1
cmp dword [ebp - 0x74], ecx
jge 0x41a137
cmp dword [ebp - 0x78], 0x52
je 0x41a135
cmp dword [ebp + 0x1c], 0x5b
jne 0x41a135
cmp dword [ebp - 0x10], 0xd
jle 0x41a118
push 0x3108
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
add esp, 4
mov edx, dword [ebp - 0x10]
sub edx, 0x43
mov dword [ebp - 0x10], edx
push 0x71bf
push 0xe696
push 0xe5aa
push 0xae58
call dword [sym.imp.KERNEL32.dll_FindClose]
add esp, 0x10
jmp 0x41a0db
cmp dword [ebp - 0x44], 4
jge 0x41a1e4
cmp dword [ebp - 0x48], 0x36
jle 0x41a1e4
push 0x15412
push 0xe0c
push 0x167b3
push 0x10883
push 0x51f5
push 0xc399
push 0x80eb
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
add esp, 0x1c
cmp dword [ebp + 0x20], 0x31
jle 0x41a1c2
cmp dword [ebp - 0x18], 0x4a
jne 0x41a1c2
mov eax, dword [ebp - 0x10]
sub eax, 1
mov dword [ebp - 0x10], eax
push 0x159fc
push 0x151e4
push 0x4a9c
push 0x16b81
push 0x6b68
push 0x9ee8
push 0xa953
push 0xfdd6
push 0x4703
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
add esp, 0x24
push 0x15af8
push 0x14cd6
push 0xba69
push 0x28d
push 0x1514f
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
add esp, 0x14
mov dword [ebp - 0x7c], 0
jmp 0x41a1f6
mov ecx, dword [ebp - 0x7c]
add ecx, 1
mov dword [ebp - 0x7c], ecx
mov edx, dword [ebp - 0x44]
sub edx, 0x5b
cmp dword [ebp - 0x7c], edx
jge 0x41a278
cmp dword [ebp - 0x48], 0xc
jne 0x41a273
cmp dword [ebp - 0x4c], 0x40
jne 0x41a273
push 0x1862e
push 0x12380
push 0xabb3
push 0x421f
push 0xcb55
push 0x1439d
push 0x55ca
push 0x13fa9
call dword [sym.imp.KERNEL32.dll_PeekNamedPipe]
add esp, 0x20
mov eax, dword [ebp - 0x14]
sub eax, 1
mov dword [ebp - 0x14], eax
push 0xb2f8
push 0x11713
push 0xd431
push 0x3dc6
push 0x1235d
push 0xa32c
push 0x13e07
call dword [sym.imp.USER32.dll_SetWindowLongA]
add esp, 0x1c
jmp 0x41a1ed
mov dword [ebp - 0x80], 0
jmp 0x41a28a
mov ecx, dword [ebp - 0x80]
add ecx, 1
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x50]
sub edx, 0x9e
cmp dword [ebp - 0x80], edx
jge 0x41a2bb
cmp dword [ebp - 0x54], 0x38
je 0x41a2b9
cmp dword [ebp - 0x1c], 0x55
je 0x41a2b9
cmp dword [ebp - 8], 0x22
jle 0x41a2b9
cmp dword [ebp - 0x30], 0x15
je 0x41a2b9
mov eax, dword [ebp - 0x38]
or eax, 0x58
mov dword [ebp - 0x38], eax
jmp 0x41a281
mov esp, ebp
pop ebp
ret