Function at 0x100398e1
Capabilities:
Accept command line arguments
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10057953
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x178
cmp byte [ebp + 8], 0
push ebx
push esi
push edi
mov dword [esp + 0x14], edx
mov byte [esp + 0x38], cl
je 0x10039a4b
cmp byte [ebp + 0x10], 0
je 0x10039a3a
mov dword [esp + 0x20], 0x1ff
mov esi, 0x1006cbb8
cmp dword [esp + 0x20], 0x593
push 0
pop ebx
jle 0x100399ad
mov eax, ebx
mov dword [esp + 0x10], ebx
mov ecx, ebx
mov dword [esp + 0x14], ebx
mov edx, ebx
mov dword [esp + 0x1c], ebx
mov edi, ecx
mov dword [esp + 0x18], ebx
mov ecx, edx
shl edi, cl
and edi, eax
mov eax, edi
mov ecx, esi
or eax, ebx
cdq
push edx
push eax
call fcn.1000c318
inc ebx
cmp ebx, 0x753a
jl 0x10039959
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
inc edx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], edx
push 0
pop ebx
cmp edx, 0x4037
jl 0x1003994d
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0x1a20
jl 0x10039947
inc eax
mov dword [esp + 0x10], eax
cmp eax, 0x4e79
jl 0x10039941
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
mov dword [esp + 0x10], 0x70e7
cmp dword [esp + 0x10], 0x716a
jle 0x10039a07
mov edi, ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], 0x6dc1
mov dword [esp + 0x18], ebx
mov eax, edi
mov ecx, esi
or eax, ebx
cdq
push edx
push eax
call fcn.1000c318
inc ebx
cmp ebx, 0x50e7
jl 0x100399d5
dec edi
dec dword [esp + 0x1c]
push 0
pop ebx
jne 0x100399d1
mov edi, dword [esp + 0x24]
inc edi
mov dword [esp + 0x24], edi
cmp edi, 0x203a
jl 0x100399c5
cmp dword [esp + 0x10], 0x6f22
jge 0x10039a1d
mov edx, str.fgpfcoybt_nise_qklyqxc_viu_gnhkcv_nyaounvv_iwvsluwam
mov ecx, esi
call fcn.1000e58f
cmp dword [esp + 0x20], 0xfffffe90
mov eax, dword [ebp + 0xc]
mov dword [eax], ebx
jge 0x1003a432
mov edx, str.vkjjs_rcfasrsof_egpxgc_xnxamqlyo_cekhf_vhtpoc_pnpk_imlexj
jmp 0x10039b69
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x1003a432
test cl, cl
je 0x10039b75
mov dword [esp + 0x1c], 0x3f49
cmp dword [esp + 0x1c], 0x4169
push 0
pop ebx
jle 0x10039abc
mov esi, ebx
mov edi, ebx
mov dword [esp + 0x20], 0x188
mov eax, edi
lea ecx, [esp + 0x12c]
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10039a8f
mov eax, dword [eax]
push eax
call fcn.1004139c
pop ecx
push ebx
push 1
lea ecx, [esp + 0x134]
call fcn.1000c8ef
add edi, esi
dec dword [esp + 0x20]
jne 0x10039a74
inc esi
cmp esi, 0x5322
jl 0x10039a6a
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
cmp dword [esp + 0x1c], 0x3dd2
jge 0x10039ad1
push str.bvebfj_chyjd_rojifpcvx_uso_lppmsrvav_huxkldmt_shgxmfaqn_ljcvtwdug
call fcn.1004139c
pop ecx
mov dword [esp + 0x10], 0x7e27
mov esi, 0x1006cbb8
cmp dword [esp + 0x10], 0x80f1
jle 0x10039b45
mov edi, ebx
mov dword [esp + 0x1c], ebx
mov ecx, ebx
mov dword [esp + 0x20], ebx
mov eax, edi
mov dword [esp + 0x18], ebx
cdq
idiv ecx
mov edi, edx
mov ecx, ebx
mov eax, edi
shl eax, cl
mov ecx, esi
cdq
push edx
push eax
call fcn.1000c318
inc ebx
cmp ebx, 0x43f3
jl 0x10039aff
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x20], ecx
push 0
pop ebx
cmp ecx, 0x436
jl 0x10039af4
inc edi
mov dword [esp + 0x1c], edi
cmp edi, 0x265b
jl 0x10039aee
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x14]
movzx eax, word [eax]
push eax
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.1000f302
cmp dword [esp + 0x10], 0x7e03
jge 0x1003a432
mov edx, str.stpnpc_hnothav_suat_kpyhb_bhsqnuys_ykr_peaf_bummd_mxqn_dnxfcjf_lsccy_ejjpkteie_yqtomh
mov ecx, esi
call fcn.1000e58f
jmp 0x1003a432
xor ecx, ecx
inc ecx
xor ebx, ebx
push 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebx
pop edx
jmp 0x10039b9a
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xec], 0x82062403
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x10039b87
mov dword [esp + 0x14], ebx
jmp 0x10039bb9
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xd0], 7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ecx
jl 0x10039ba6
mov dword [esp + 0x10], ebx
jmp 0x10039bd4
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xec], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x10039bc5
push dword [ebp + 0x1c]
mov dword [esp + 0x14], 3
lea ecx, [esp + 0xa0]
call fcn.1000c42d
push ecx
push dword [ebp + 0x14]
lea ecx, [esp + 0xa4]
mov dword [esp + 0x194], ebx
call fcn.1003b756
mov dword [esp + 0x34], eax
mov dword [esp + 0x10], 9
mov dword [esp + 0x10], ebx
jmp 0x10039c2d
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x15c], 0x6bacd795
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x10039c1a
mov dword [esp + 0x10], ebx
jmp 0x10039e28
push ecx
push 0x1167
push ecx
lea eax, [esp + 0x3b]
mov dword [esp + 0x20], 0x85bf25cb
mov byte [esp + 0x3b], bl
xor dl, dl
push eax
mov ecx, 0x77ed
call fcn.10037b1e
mov dword [esp + 0x24], 2
add esp, 0x10
cmp dword [esp + 0x14], ebx
jl 0x10039e24
mov dword [esp + 0x18], 0xdf2
cmp dword [esp + 0x18], 0xe22
jle 0x10039d07
mov edi, ebx
mov dword [esp + 0x1c], ebx
mov esi, ebx
mov dword [esp + 0x20], ebx
mov eax, edi
mov dword [esp + 0x30], ebx
cdq
mov edi, ebx
idiv esi
mov esi, edx
mov eax, esi
lea ecx, [esp + 0xfc]
and eax, edi
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10039cbe
mov eax, dword [eax]
push eax
call fcn.1004139c
pop ecx
push ebx
push 1
lea ecx, [esp + 0x104]
call fcn.1000c8ef
inc edi
cmp edi, 0x4be6
jl 0x10039ca1
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
inc esi
mov dword [esp + 0x20], esi
cmp esi, 0x4607
jl 0x10039c94
inc edi
mov dword [esp + 0x1c], edi
cmp edi, 0x6763
jl 0x10039c8e
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetConsoleMode]
push 2
lea ecx, [esp + 0x94]
call fcn.1000c530
mov byte [esp + 0x18c], 1
cmp dword [esp + 0x18], 0xace
jge 0x10039d32
push str.npow_sblajcv_cpbspyu_qmsinf_jbmwpquf_fbq_jwdwhch_jtaenlvff
call fcn.1004139c
pop ecx
push 0x1d72
push 0x6601
push 0x6091
lea eax, [esp + 0x9c]
mov ecx, 0x662a
push eax
push 0x337
push 1
push 1
push 0x678e
push ebx
lea edx, [esp + 0xf8]
call fcn.10037c55
mov dword [esp + 0x3c], 0x1b3
add esp, 0x24
cmp dword [esp + 0x18], 0x4f5
jle 0x10039dc7
mov esi, ebx
mov edi, ebx
mov eax, edi
lea ecx, [esp + 0x114]
or eax, esi
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10039d9f
mov eax, dword [eax]
push eax
call fcn.1004139c
pop ecx
push ebx
push 1
lea ecx, [esp + 0x11c]
call fcn.1000c8ef
inc edi
cmp edi, 0x1dfa
jl 0x10039d82
inc esi
cmp esi, 0x485e
jl 0x10039d80
mov esi, dword [esp + 0x90]
mov dword [esi + 4], ebx
push ecx
lea eax, [esp + 0x31]
mov byte [esp + 0x31], bl
push eax
push ebx
mov ecx, 0x4c0f
call fcn.10036dd3
add esp, 0xc
inc dword [esi + 4]
cmp dword [esi + 4], 2
jle 0x10039dd1
cmp dword [esp + 0x18], 0xfffffedc
jge 0x10039e07
push str.pmjath_djps_oessas_rsxkhyxx_eirtvsjlc_ibxrshw_aebi_eooorwp_lopc_xhwbfx_knacsuoud_ihopx
call fcn.1004139c
pop ecx
lea ecx, [esp + 0x90]
mov byte [esp + 0x18c], bl
call fcn.1000c5b3
dec dword [esp + 0x14]
jns 0x10039c76
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x1b
jle 0x10039c3d
cmp dword [esp + 0x34], 0xffffffff
je 0x10039e6b
push 0x20de
lea eax, [esp + 0x38]
mov edx, 0x5d40
push eax
push 1
lea eax, [esp + 0xa8]
mov ecx, 0x109a
push eax
push 0x6933
push 0x1b75
push ebx
call fcn.10038583
add esp, 0x1c
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x64], 1
cmp dword [esp + 0x28], ebx
je 0x10039eb7
push 0x65f
push 0x3f9f
push 0x3514
push 0x652f
push ebx
push 0x1a89
push 0x6cbe
lea edx, [esp + 0x4a]
mov byte [esp + 0x4a], bl
xor cl, cl
call fcn.1003a66b
add esp, 0x1c
jmp 0x10039f4b
mov dword [esp + 0x5c], 0xffff
lea ecx, [esp + 0x78]
push 3
call fcn.1000c530
lea eax, [esp + 0x78]
mov byte [esp + 0x18c], 2
push eax
lea eax, [esp + 0x5c]
push eax
push 0x2676
push ecx
push ebx
call fcn.10037908
add esp, 0xc
lea eax, [esp + 0x80]
lea edx, [esp + 0x64]
xor cl, cl
push eax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.10037074
add esp, 0x14
mov dword [esp + 0x28], ebx
jmp 0x10039f34
lea eax, [esp + 0x78]
xor dl, dl
push eax
push 0x450
lea eax, [esp + 0x30]
mov ecx, 0x5f91
push ebx
push eax
call fcn.10039895
add esp, 0x10
inc dword [esp + 0x28]
cmp dword [esp + 0x28], 3
jl 0x10039f11
lea ecx, [esp + 0x78]
mov byte [esp + 0x18c], bl
call fcn.1000c5b3
mov edx, dword [ebp + 0x14]
lea eax, [esp + 0x34]
push 0x593d
push ebx
push eax
lea eax, [esp + 0xa8]
mov ecx, 0x6b2b
push eax
call fcn.1003a836
mov dword [esp + 0x20], 1
add esp, 0x10
mov dword [esp + 0x30], 0x1589afca
mov dword [esp + 0x14], ebx
jmp 0x10039f94
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x4c], 6
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10039f84
mov dword [esp + 0x14], ebx
jmp 0x10039fb1
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x44], 0xfffffff7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x10039fa1
mov eax, dword [esp + 0x10]
xor edx, edx
cmp eax, 8
mov eax, dword [esp + 0x10]
setle dl
xor ecx, ecx
cmp eax, edx
setle cl
add ecx, dword [esp + 0x10]
jne 0x10039fd9
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
xor ecx, ecx
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x10]
cmp eax, 1
mov eax, dword [esp + 0x10]
setle cl
cmp ecx, 0x8d383303
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
setl dl
sub edx, dword [esp + 0x10]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 7
setge al
xor edx, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
cmp eax, ecx
setne dl
cmp dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x44], edx
mov dword [esp + 0x30], edx
je 0x1003a248
push dword [esp + 0x58]
movdqa xmm0, xmmword [0x10066990]
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0xe4]
mov dword [esp + 0x74], ebx
push eax
push ebx
lea ecx, [esp + 0x7c]
mov dword [esp + 0x80], ebx
movdqu xmmword [esp + 0xec], xmm0
mov dword [esp + 0x84], ebx
call fcn.1000eb10
mov byte [esp + 0x18c], 3
mov dword [esp + 0x1c], 0x3efd
cmp dword [esp + 0x1c], 0x414d
jle 0x1003a126
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_AppendMenuW]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], 0x4ab6
mov esi, dword [esp + 0x10]
mov edi, ebx
mov eax, esi
lea ecx, [esp + 0x144]
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003a0ec
mov eax, dword [eax]
push eax
call fcn.1004139c
pop ecx
push ebx
push 1
lea ecx, [esp + 0x14c]
call fcn.1000c8ef
inc edi
cmp edi, 0x144c
jl 0x1003a0cc
mov esi, dword [esp + 0x20]
add dword [esp + 0x10], esi
dec dword [esp + 0x18]
jne 0x1003a0c6
inc esi
mov dword [esp + 0x20], esi
cmp esi, 0x32bf
jl 0x1003a0ba
cmp dword [esp + 0x1c], 0x3bd5
jge 0x1003a13b
push str.qmvidcyp_vfp_xiqyj_qwuy_aafrsixr_noijhu_qnhauhtmu_dga
call fcn.1004139c
pop ecx
xor ecx, ecx
mov dword [esp + 0x10], ebx
inc ecx
jmp 0x1003a150
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x60], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x1003a144
mov esi, dword [esp + 0x6c]
mov dword [esi + 8], 0x1c
mov dword [esp + 0x14], 0xd811f07b
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], ebx
jl 0x1003a211
mov dword [esp + 0x10], 0xc3938dd4
mov eax, dword [esp + 0x14]
cmp dword [esp + eax*4 + 0x60], ebx
jne 0x1003a211
mov dword [esp + 0x10], ebx
jmp 0x1003a201
push 3
lea ecx, [esp + 0x88]
call fcn.1000c530
push ecx
lea eax, [esp + 0x88]
mov byte [esp + 0x190], 4
push eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x70], 0x7921e124
call fcn.1003a59a
mov edi, dword [esp + 0x8c]
pop ecx
pop ecx
mov dword [edi], ebx
push ecx
push 0x69d6
push 1
lea ecx, [esp + 0x74]
call fcn.10036dd3
add esp, 0xc
dec dword [edi]
jns 0x1003a1d1
lea ecx, [esp + 0x84]
mov byte [esp + 0x18c], 3
call fcn.1000c5b3
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x1003a193
dec dword [esp + 0x14]
jns 0x1003a177
dec dword [esi + 8]
cmp dword [esi + 8], 7
jne 0x1003a161
lea ecx, [esp + 0x6c]
mov byte [esp + 0x18c], bl
call fcn.1000c5b3
lea eax, [esp + 0x34]
xor cl, cl
push eax
sub esp, 0xc
lea eax, [esp + 0xac]
push eax
call fcn.10038541
add esp, 0x14
mov dword [esp + 0x14], 0x7fca
cmp dword [esp + 0x14], 0x816f
jle 0x1003a2f6
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
mov esi, ebx
mov dword [esp + 0x1c], ebx
mov edi, ebx
mov dword [esp + 0x20], ebx
mov eax, ebx
mov dword [esp + 0x18], ebx
add edi, eax
mov dword [esp + 0x30], ebx
add edi, esi
mov esi, ebx
mov eax, edi
lea ecx, [esp + 0x168]
xor eax, esi
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003a2a1
mov eax, dword [eax]
push eax
call fcn.1004139c
pop ecx
push ebx
push 1
lea ecx, [esp + 0x170]
call fcn.1000c8ef
inc esi
cmp esi, 0xee7
jl 0x1003a284
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
inc eax
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], eax
cmp eax, 0x71f3
jl 0x1003a27a
inc edi
mov dword [esp + 0x20], edi
cmp edi, 0x6970
jl 0x1003a274
inc esi
mov dword [esp + 0x1c], esi
cmp esi, 0x556
jl 0x1003a26e
mov dword [esp + 0x10], 0xbf2b2994
cmp dword [esp + 0x14], 0x7fa3
jge 0x1003a313
push str.cfpmv_dmmhd_ldq_upcfojtyv_sglhg_kvtjt_wiwpdek_atc_wkabc_fpsyiwchi_gkori_nyxlqtt_kgmndqs
call fcn.1004139c
pop ecx
push 2
lea ecx, [esp + 0xb8]
call fcn.1000c530
mov byte [esp + 0x18c], 5
mov eax, 0xd5f49dcb
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0x24], ebx
jmp 0x1003a370
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0x3c], 0x5457d670
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 2
jl 0x1003a360
push ecx
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0x2c]
push eax
push ecx
call fcn.1003b21d
mov eax, dword [esp + 0xc4]
add esp, 0x10
cmp dword [eax], ebx
jne 0x1003a39d
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [esp + 0x10]
sete cl
imul eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x10], eax
jne 0x1003a3db
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x40]
xor edx, edx
cmp eax, 1
mov eax, dword [esp + 0x3c]
setg dl
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [esp + 0xcc], ecx
lea ecx, [esp + 0xb4]
mov byte [esp + 0x18c], bl
call fcn.1000c5b3
mov ecx, dword [ebp + 0x20]
lea eax, [esp + 0x9c]
cmp ecx, eax
je 0x1003a423
push 0xffffffffffffffff
push ebx
push eax
call fcn.1000c933
push ebx
push 1
lea ecx, [esp + 0xa4]
call fcn.1000cafd
mov ecx, dword [esp + 0x184]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret