Function at 0x10037568
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x1006359e
call fcn.10061bc4
sub esp, 0x15c
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x10], esp
test dl, dl
je 0x10037c6c
cmp byte [ebp + 0x28], 0
je 0x10037c40
mov esi, dword [ebp + 0xc]
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x10037c38
lea eax, [ebp - 0x8c]
xor ebx, ebx
push eax
push 0x1000
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
call fcn.1001260d
mov dword [ebp - 4], ebx
mov edi, 0x103f2
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x68]
push dword [ebp - 0x68]
sar eax, 1
push eax
push edi
push 0xcd3a
call fcn.10026103
pop ecx
pop ecx
call eax
push dword [ebp - 0x68]
lea ecx, [ebp - 0xa4]
call fcn.1002a257
push 0xc663
mov byte [ebp - 4], 1
call fcn.10011500
mov dword [esp], 0x6b3b
lea edx, [ebp - 0xa4]
push 0x3730
push 1
push 0x5e9f
push 1
movzx eax, ax
mov ecx, 0x5238
push 1
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x70]
push 0x17ec
push eax
push 0x6099
call fcn.10037453
push 0x7fe7
push 1
push 0x6833
push 0x3e0b
push 0x5318
push 0x229a
push 0x48ff
push 0x8a8
push 0x2b94
push 1
xor dl, dl
lea ecx, [ebp - 0xa4]
call fcn.10037568
add esp, 0x4c
lea eax, [ebp - 0xa4]
cmp dword [ebp - 0x90], 8
cmovae eax, dword [ebp - 0xa4]
push ebx
push eax
push edi
push 0xa430
call fcn.10026103
pop ecx
pop ecx
call eax
push dword [ebp - 0x70]
push ecx
lea ecx, [ebp - 0xa4]
call fcn.1002ae2c
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x6c], ebx
push eax
push ecx
push esi
push 0x33d0
mov dl, 1
call fcn.1003705f
add esp, 0x10
mov byte [ebp - 0x11], bl
mov eax, ebx
mov dword [ebp - 0x34], ebx
cmp eax, 0x12c
jae 0x10037c2d
cmp byte [ebp - 0x11], 0
jne 0x10037c2d
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0xbc]
call fcn.10011821
push 0x10
pop edx
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 2
call fcn.100319f9
lea eax, [ebp - 0x120]
mov byte [ebp - 4], 3
push eax
push 0xc3
push 0x33aa
push 1
push 0x3b6c
push 1
push 0x2836
push 0x76f9
mov edx, 0x7840
lea ecx, [ebp - 0xbc]
call fcn.100371fd
add esp, 0x20
mov dword [ebp - 0x4c], 0x1e203
mov edi, ebx
mov dword [ebp - 0x48], 0x56024b00
mov dword [ebp - 0x44], 0xa74e7604
mov byte [ebp - 0x40], 0x57
push 0x65
pop eax
push 2
mov word [ebp - 0x82], ax
pop esi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x2c], esi
cmp esi, 0xd
jae 0x10037887
mov dword [ebp - 0x1c], 0xe9e
cmp dword [ebp - 0x1c], 0x1058
jle 0x10037813
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov esi, eax
mov dword [ebp - 0x20], 0x4eae
mov edi, ebx
mov eax, esi
mov dword [ebp - 0x30], 0x66b0
mov dword [ebp - 0x38], eax
cdq
lea ecx, [ebp - 0x150]
push edx
push eax
call fcn.10002a23
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100377c8
mov eax, dword [eax]
push eax
call fcn.10049a06
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x150]
call fcn.10002ff9
mov eax, dword [ebp - 0x38]
add eax, edi
dec dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
jne 0x100377b0
dec edi
cmp edi, 0xffffdb19
jg 0x100377a4
dec esi
dec dword [ebp - 0x20]
jne 0x100377a2
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x71c9
jl 0x10037799
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x58]
movzx eax, byte [ebp - 0x4c]
lea eax, [eax*2 + 2]
cmp esi, eax
jne 0x10037832
movzx eax, byte [ebp + esi - 0x4c]
dec esi
add esi, eax
lea edi, [eax + 1]
mov dword [ebp - 0x58], edi
jmp 0x1003787f
cmp dword [ebp - 0x1c], 0xd07
jge 0x10037846
push str.xjvakpvjw_tsqeuj_pnq_evxgcs_qulz_ttcfctvq_abkymf_qrkx_injyu
call fcn.10049a06
pop ecx
mov eax, esi
mov dword [ebp - 4], 3
movzx edx, byte [ebp + esi - 0x4b]
sub eax, edi
mov edi, ebx
mov dword [ebp - 0x58], ebx
movzx eax, byte [ebp + eax - 0x4e]
movzx ecx, word [ebp + eax*2 - 0x88]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x4c]
add ecx, edx
mov word [ebp + eax*2 - 0x88], cx
add esi, 2
jmp 0x1003776e
xor eax, eax
mov dword [ebp - 0xdc], 7
mov word [ebp - 0x80], ax
lea ecx, [ebp - 0xf0]
mov word [ebp - 0xf0], ax
lea eax, [ebp - 0x88]
push eax
mov dword [ebp - 0xe0], ebx
call fcn.1002a447
push ecx
push ecx
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0xbc]
call fcn.1002cd04
push ebx
push 1
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 3
call fcn.1001231a
mov esi, ebx
mov dword [ebp - 0x38], ebx
cmp esi, 5
jae 0x100379c8
mov dword [ebp - 0x30], 0x6cf4
cmp dword [ebp - 0x30], 0x6e0d
jle 0x1003799a
push 0x103f2
push 0x66a1
call fcn.10026103
pop ecx
pop ecx
call eax
mov dword [ebp - 0x20], ebx
mov eax, ebx
mov dword [ebp - 0x18], 0x79a2
mov dword [ebp - 0x1c], eax
mov esi, eax
mov dword [ebp - 0x2c], 0x5cca
mov edi, ebx
mov eax, edi
lea ecx, [ebp - 0x138]
xor eax, esi
cdq
push edx
push eax
call fcn.10002a23
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003794b
mov eax, dword [eax]
push eax
call fcn.10049a06
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x138]
call fcn.10002ff9
inc edi
cmp edi, 0xcdb
jl 0x1003792f
inc esi
dec dword [ebp - 0x2c]
jne 0x1003792d
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
add eax, esi
dec dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
jne 0x10037924
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x5c0
jl 0x10037918
push ebx
push 0x48d
call dword [sym.imp.USER32.dll_GetClientRect]
mov esi, dword [ebp - 0x38]
xor eax, eax
cmp dword [ebp - 0x30], 0x6a70
mov word [ebp + esi*2 - 0x88], ax
jge 0x100379b8
push str.qcvmpmwh_hmrsjhj_ofbvxpong_lehpd
call fcn.10049a06
pop ecx
inc esi
mov dword [ebp - 4], 3
mov dword [ebp - 0x38], esi
jmp 0x100378e5
cmp dword [ebp - 0xa8], 8
lea eax, [ebp - 0xbc]
push ebx
cmovae eax, dword [ebp - 0xbc]
mov edi, 0x103f2
push 0x80
push 2
push ebx
push ebx
push 0x40000000
push eax
push edi
push 0xd411
call fcn.10026103
pop ecx
pop ecx
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x10037a42
push ebx
lea eax, [ebp - 0xd8]
push eax
push dword [ebp - 0x6c]
mov eax, dword [ebp + 0xc]
push dword [eax]
push esi
push edi
push 0x744f
call fcn.10026103
pop ecx
pop ecx
call eax
push esi
test eax, eax
push edi
push 0x9d59
setne bl
call fcn.10026103
pop ecx
pop ecx
call eax
test bl, bl
jne 0x10037a6e
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x120]
call fcn.1001231a
push ebx
push 1
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 1
call fcn.1001231a
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
jmp 0x100376cf
push 0x22
pop eax
xor ebx, ebx
mov dword [ebp - 0x28], 0xc103af00
push 2
mov ecx, ebx
mov word [ebp - 0x24], 0x8f7f
mov word [ebp - 0x3c], ax
pop esi
mov dword [ebp - 0x5c], ecx
cmp esi, 2
jne 0x10037a9b
push 4
pop ecx
push ecx
mov dword [ebp - 0x5c], ecx
pop esi
jmp 0x10037ad2
movzx edx, byte [ebp + esi - 0x27]
mov eax, esi
sub eax, ecx
push 1
movzx eax, byte [ebp + eax - 0x2a]
movzx eax, word [ebp + eax*2 - 0x3c]
mov ecx, eax
and eax, edx
or ecx, edx
lea edx, [ebp - 0x5c]
sub ecx, eax
movzx eax, byte [ebp + esi - 0x28]
push ecx
push ecx
mov word [ebp + eax*2 - 0x3c], cx
call fcn.10037337
mov ecx, dword [ebp - 0x5c]
add esp, 0xc
add esi, 2
cmp esi, 6
jb 0x10037a8c
xor eax, eax
mov dword [ebp - 0xc4], ebx
push 7
mov word [ebp - 0x3a], ax
lea ecx, [ebp - 0xd4]
pop edi
mov word [ebp - 0xd4], ax
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0xc0], edi
call fcn.1002a447
push ecx
push ecx
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x3c], ebx
call fcn.1002cd04
push 0x2f
pop eax
push 2
mov dword [ebp - 0x54], 0x7c033502
mov dword [ebp - 0x50], 0x2017100
mov word [ebp - 0x78], ax
pop esi
movzx eax, byte [ebp + esi - 0x56]
movzx edx, byte [ebp + esi - 0x53]
mov ecx, edx
movzx eax, word [ebp + eax*2 - 0x7c]
or ecx, eax
and edx, eax
movzx eax, byte [ebp + esi - 0x54]
sub ecx, edx
add esi, 2
mov word [ebp + eax*2 - 0x7c], cx
cmp esi, 8
jb 0x10037b38
xor eax, eax
mov dword [ebp - 0xf4], edi
mov word [ebp - 0x74], ax
lea ecx, [ebp - 0x108]
mov word [ebp - 0x108], ax
lea eax, [ebp - 0x7c]
push eax
mov dword [ebp - 0xf8], ebx
call fcn.1002a447
push ecx
push ecx
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0xd4]
call fcn.1002cd04
push ebx
push 1
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 9
call fcn.1001231a
xor eax, eax
lea edi, [ebp - 0x7c]
stosd dword es:[edi], eax
sub esp, 0xc
mov dl, 1
stosd dword es:[edi], eax
push 0x2a47
push ecx
lea ecx, [ebp - 0x11]
stosw word es:[edi], ax
call fcn.1003750c
add esp, 0x14
lea edx, [ebp - 0xa4]
lea ecx, [ebp - 0xd4]
call fcn.10036212
mov ecx, dword [ebp + 0x24]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [ebp - 0xd4]
call fcn.1001231a
push ebx
push 1
lea ecx, [ebp - 0x120]
call fcn.1001231a
push ebx
push 1
lea ecx, [ebp - 0xbc]
call fcn.1001231a
push ebx
push 1
lea ecx, [ebp - 0xa4]
call fcn.1001231a
lea ecx, [ebp - 0x68]
call fcn.10012694
jmp 0x10037d1c
mov ecx, dword [ebp + 0x24]
mov dword [ecx], 2
jmp 0x10037c12
mov eax, dword [ebp + 0x24]
jmp 0x10037d16
mov edx, dword [ebp + 0x2c]
mov dword [edx], 0
cmp dword [edx], 2
jge 0x10037d1c
mov esi, dword [ebp + 0x10]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0xdead9bac
inc dword [edx]
cmp dword [edx], 2
jl 0x10037c55
jmp 0x10037d1c
cmp byte [ebp + 8], 0
je 0x10037ca4
push ecx
mov edx, 0x281c
lea ecx, [ebp - 0x168]
call fcn.10039fc7
push ecx
push eax
mov ecx, esi
mov dword [ebp - 4], 0xb
call fcn.1002cd04
push 0
push 1
lea ecx, [ebp - 0x168]
call fcn.1001231a
jmp 0x10037d1c
mov dword [ebp - 0x34], 0x6f42
cmp dword [ebp - 0x34], 0x726a
jle 0x10037cdd
xor ebx, ebx
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x1007f138
and eax, esi
cdq
push edx
push eax
call fcn.10002c1c
inc edi
cmp edi, 0x4bb4
jl 0x10037cba
inc esi
cmp esi, 0x46e1
jl 0x10037cb8
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x34], 0x6d35
jge 0x10037cfc
mov edx, str.sekd_bglizeg_pzxulzdq_cornx_lchqfy_zxee_isayrtbm_qncyxvw_euwwqyi_qrqarpu
mov ecx, 0x1007f138
call fcn.100045d3
mov eax, dword [ebp + 0x20]
mov esi, dword [eax]
mov eax, dword [ebp + 0x18]
mov edx, dword [eax]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + esi*4]
cmp eax, dword [ecx + esi*4]
jle 0x10037d1c
mov eax, dword [ebp + 0x14]
mov dword [eax], 1
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret