Function at 0x100143e7
Capabilities:
Accept command line arguments
Generate random numbers using a mersenne twister

Disassembly:
mov eax, 0x1005601c
call fcn.1005557c
sub esp, 0x68
mov byte [ebp - 0x18], cl
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
test cl, cl
je 0x10014410
xor ebx, ebx
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
jmp 0x1001471f
mov eax, dword [0x1017ea2c]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x34], esi
test al, 1
jne 0x10014439
or dword [0x1017ea24], 0xffffffff
or eax, 1
push ecx
push 0x1571
mov dword [0x1017ea2c], eax
call fcn.10016943
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
jmp 0x1001444a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4c], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10014440
call fcn.1001533a
sub esp, 0xc
call fcn.10016504
mov dword [ebp - 0x28], 0x3496
add esp, 0xc
cmp dword [ebp - 0x28], 0x369e
jle 0x100144fe
push ebx
push 0x1925
push 0x211a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_MoveToEx]
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x30], ebx
mov ecx, esi
mov ebx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x2c], edi
sar edi, cl
mov eax, edi
mov ecx, 0x1006f688
or eax, esi
or eax, ebx
cdq
push edx
push eax
call fcn.10002383
inc esi
cmp esi, 0x4e61
jl 0x100144b0
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x24]
inc esi
mov dword [ebp - 0x20], esi
push 0
pop ebx
cmp esi, 0x11b3
jl 0x100144a0
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x3cee
jl 0x1001449b
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x602a
jl 0x10014496
mov esi, dword [ebp + 0x14]
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x28], 0x326f
jge 0x10014519
mov edx, str.lijv_lnys_rlix_uzubi_xldnceq_feygkw_oslhfr_lrsyqmpaq_hqe_linoas
mov ecx, 0x1006f688
call fcn.10003d52
or dword [ebp - 4], 0xffffffff
cmp byte [0x1006f9f9], 0
jne 0x10014687
mov edx, 0x3c60
call fcn.10014784
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push ecx
push eax
call fcn.10016943
mov dword [ebp - 0x1c], 0x3ae35568
mov dword [ebp - 0x1c], ebx
jmp 0x10014583
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x40], 0x3eb905d0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10014575
push 0x13d1
push ebx
call fcn.100142fb
pop ecx
pop ecx
mov dword [ebp - 0x1c], ebx
push 0xfffffffffffffff6
pop eax
cmp dword [ebp - 0x1c], eax
jg 0x1001467d
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x100145cc
push 1
push 0x3a91
xor dl, dl
xor cl, cl
call fcn.100152cd
pop ecx
pop ecx
mov dword [ebp - 0x54], 2
cmp dword [ebp - 0x54], ebx
jl 0x10014675
mov dword [ebp - 0x34], 0x13244d51
mov dword [ebp - 0x28], 0x64c9
cmp dword [ebp - 0x28], 0x6879
jle 0x10014636
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
shl eax, cl
lea ecx, [ebp - 0x74]
cdq
push edx
push eax
call fcn.100042e3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10014612
mov eax, dword [eax]
push eax
call fcn.10039f30
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x74]
call fcn.10002764
inc edi
cmp edi, 0x6805
jl 0x100145f7
inc esi
cmp esi, 0x6210
jl 0x100145f5
cmp dword [ebp - 0x28], 0x6457
jge 0x1001464a
push str.ntdwu_bobmcudug_qmmonb
call fcn.10039f30
pop ecx
or dword [ebp - 4], 0xffffffff
xor edx, edx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp + eax*4 - 0x40]
cmp ecx, eax
mov eax, dword [ebp - 0x54]
sete dl
mov dword [ebp + eax*4 - 0x40], edx
mov dword [ebp - 0x34], edx
dec dword [ebp - 0x54]
jmp 0x100145d3
dec dword [ebp - 0x1c]
jmp 0x10014599
push ecx
call fcn.10014730
mov esi, dword [ebp + 0x14]
pop ecx
mov eax, dword [0x1017d6a0]
cmp eax, 0x270
jne 0x100146d3
mov edx, 0x1017d6a8
mov ecx, dword [edx - 4]
xor ecx, dword [edx]
and ecx, 0x7fffffff
xor ecx, dword [edx - 4]
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [edx + 0x630]
xor eax, ecx
mov dword [edx + 0x9bc], eax
add edx, 4
cmp edx, 0x1017e068
jl 0x10014698
jmp 0x100146df
cmp eax, 0x4e0
jb 0x100146e4
call fcn.1001697e
mov eax, dword [0x1017d6a0]
mov ecx, dword [eax*4 + 0x1017d6a4]
inc eax
mov dword [0x1017d6a0], eax
mov eax, ecx
shr eax, 0xb
and eax, dword [0x1017ea24]
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr eax, 0x12
xor eax, ecx
mov dword [esi], eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret