Function at 0x10002e27
Capabilities:
Accept command line arguments
Check os version
Get file system object information
Read .ini file

Disassembly:
mov eax, 0x1005edf3
call fcn.1005e738
sub esp, 0x248
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor ebx, ebx
push 3
pop edi
mov dword [ebp - 0x94], ecx
lea ecx, [ebp - 0xbc]
push edi
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x17c], ebx
call fcn.100021db
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], ebx
jmp 0x10002e7b
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xbc]
mov dword [eax + ecx*4], 0xc3eee2fd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10002e68
mov edx, dword [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x31d26ec1
mov esi, dword [edx + 8]
sub eax, esi
cmp esi, eax
sete cl
xor eax, eax
cmp ecx, esi
setl al
xor ecx, ecx
add eax, dword [edx]
test esi, esi
mov dword [ebp - 0x24], eax
sete cl
xor eax, eax
inc eax
sub eax, ecx
cmp eax, dword [ebp - 0x24]
jne 0x10002ed9
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10003034
push 0x1778
push 0x2218
push ebx
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
jmp 0x10003034
mov dword [ebp - 0x18], 0x5b054dbb
mov dword [ebp - 0x38], 0x662d
cmp dword [ebp - 0x38], 0x6903
jle 0x10002f4d
mov esi, ebx
mov dword [ebp - 0x30], ebx
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov ecx, ebx
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 0x24], ecx
shl eax, cl
lea ecx, [ebx + esi]
and eax, ecx
mov ecx, 0x10079c18
cdq
push edx
push eax
call fcn.100048ed
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x3958
jl 0x10002f02
inc eax
mov dword [ebp - 0x20], eax
push 0
pop ebx
cmp eax, 0x32cc
jl 0x10002efa
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x7045
jl 0x10002ef5
inc esi
cmp esi, 0x70cc
jl 0x10002ef2
mov dword [ebp - 0x18], 0xffffffff
jmp 0x10002fed
push dword [ebp - 0x40]
movdqa xmm0, xmmword [0x1006cd90]
lea eax, [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x1dc]
mov dword [ebp - 0xa0], ebx
push eax
push ebx
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x9c], ebx
movdqu xmmword [ebp - 0x1dc], xmm0
mov dword [ebp - 0x98], ebx
call fcn.100022f1
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xbc]
mov dword [ecx + 8], ebx
mov eax, dword [ecx + 8]
or dword [edx + eax*4], 0xffffffff
inc dword [ecx + 8]
cmp dword [ecx + 8], edi
jl 0x10002fa7
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10002fcc
push ebx
push 0x1580
push ebx
call dword [sym.imp.GDI32.dll_GetObjectW]
push dword [ebp - 0xa0]
call fcn.10046c84
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
dec dword [ebp - 0x18]
pop ecx
cmp dword [ebp - 0x18], 0xffffffec
jl 0x10002f59
mov byte [ebp - 4], 1
cmp dword [ebp - 0x38], 0x6589
jge 0x10003034
mov edx, str.kudsje_vodcxl_ejpvj_cnplssc_kss_qnhe_oqdzhglsz_vvc
mov ecx, 0x10079c18
call fcn.10006b05
jmp 0x10003034
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0xbc]
call fcn.10046c84
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0x38], 0x2ee4
cmp dword [ebp - 0x38], 0x307c
pop ecx
jle 0x100030cd
push ebx
call dword [sym.imp.USER32.dll_DestroyMenu]
mov esi, ebx
mov dword [ebp - 0x30], ebx
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x18], edi
and edi, esi
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov ebx, dword [ebp - 0x24]
mov eax, esi
mov ecx, 0x10079c18
and eax, ebx
or eax, edi
cdq
push edx
push eax
call fcn.100048ed
inc esi
cmp esi, 0x6967
jl 0x10003084
inc ebx
push 0
mov dword [ebp - 0x24], ebx
cmp ebx, 0x3ceb
pop ebx
jl 0x1000307f
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x30]
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0xf0c
jl 0x10003077
inc esi
mov dword [ebp - 0x30], esi
cmp esi, 0x119b
jl 0x10003072
mov dword [ebp - 0x18], 0x62d5e48d
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100030e5
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
mov dword [ebp - 0x18], ebx
jmp 0x10003100
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100030fd
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x10
jle 0x100030ea
mov dword [ebp - 4], 3
cmp dword [ebp - 0x38], 0x2ba6
jge 0x10003125
mov edx, str.xkzg_nokcsy_kuvn_xbfawuvq_osditpe_pcyeji
mov ecx, 0x10079c18
call fcn.10006b05
or dword [ebp - 4], 0xffffffff
push 0x6c
pop eax
mov dword [ebp - 0x68], 0x30062501
mov dword [ebp - 0x64], 0x2af57f04
mov dword [ebp - 0x60], 0x33d0469
mov byte [ebp - 0x5c], 3
mov byte [ebp - 0x5b], bl
mov dword [ebp - 0x5a], 0x22b0525
mov byte [ebp - 0x56], 3
mov word [ebp - 0x142], ax
mov dword [ebp - 0x28], 0x3e0
cmp dword [ebp - 0x28], 0x60b
jle 0x100031b0
mov esi, ebx
mov edi, ebx
lea eax, [edi + esi]
cdq
lea ecx, [ebp - 0x214]
push edx
push eax
call fcn.10002dd6
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10003189
mov eax, dword [eax]
push eax
call fcn.100476ff
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x214]
call fcn.10004d30
inc edi
cmp edi, 0x536c
jl 0x1000316e
inc esi
cmp esi, 0x1427
jl 0x1000316c
mov dword [ebp - 0x38], 0x134
cmp dword [ebp - 0x38], 0x264
jle 0x1000322a
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov dword [ebp - 0x30], ebx
mov esi, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x34], ebx
mov ecx, esi
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x18], edi
shl edi, cl
mov ecx, esi
mov eax, edi
shl eax, cl
mov ecx, 0x10079c18
xor eax, ebx
cdq
push edx
push eax
call fcn.100048ed
inc esi
cmp esi, 0x150b
jl 0x100031dd
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x30]
inc esi
mov dword [ebp - 0x24], esi
push 0
pop ebx
cmp esi, 0x5ef7
jl 0x100031cd
inc edi
mov dword [ebp - 0x30], edi
cmp edi, 0x35cd
jl 0x100031c8
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x1926
jl 0x100031c3
push 3
pop edi
push edi
lea ecx, [ebp - 0x104]
call fcn.100021db
mov dword [ebp - 4], 5
mov byte [ebp - 4], 6
cmp dword [ebp - 0x38], 0xfffffd56
jge 0x100032a2
mov edx, str.zlwsapc_mzdox_uplcijbx_opts_lceaezucl
mov ecx, 0x10079c18
call fcn.10006b05
jmp 0x100032a2
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x40], 0xdad5a519
mov dword [ebp - 0x24], 0x145c1747
mov dword [ebp - 0x18], ebx
jmp 0x100032cb
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x104]
mov dword [eax + ecx*4], 0x9841b3c6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100032b8
mov eax, dword [ebp - 0x104]
mov dword [eax], ebx
inc dword [ebp - 0x24]
push dword [ebp - 0x104]
call fcn.10046c84
cmp dword [ebp - 0x28], 0x111
pop ecx
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0xfc], ebx
jge 0x1000330d
push str.qefbtbwf_jgea_nojni_bczzszigw_odlh_xnmfobhx_higyvd_fswjoazro_vpc_wvceuowdb_nxvzospp
call fcn.100476ff
pop ecx
or dword [ebp - 4], 0xffffffff
mov ecx, ebx
push 2
pop esi
mov edx, 0x3ca3691f
cmp esi, 4
jne 0x100033ec
movzx esi, byte [ebp - 0x64]
mov dword [ebp - 0x18], 0x5f499006
mov dword [ebp - 0x34], 0xc2fdcba8
mov dword [ebp - 0x20], 0x4d2b5f79
mov dword [ebp - 0x178], edx
lea eax, [esi + 1]
mov dword [ebp - 0x174], edx
mov dword [ebp - 0x170], edx
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x40], 0xffffffff
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
mov dword [ebp - 0x24], eax
je 0x10003382
push ebx
push ebx
push 0x91
push 0x171b
push 0x268a
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jg 0x100033bf
mov eax, dword [ebp - 0x18]
mov edx, 0xffffdd88
mov eax, dword [ebp - 0x34]
sub edx, eax
add edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setge cl
imul eax, ecx, 0xfffc
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
je 0x100033bf
xor eax, eax
inc eax
jmp 0x100033c1
mov eax, ebx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jne 0x100033cc
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x18], 1
jl 0x100033dc
cmp dword [ebp - 0x18], ebx
je 0x100033dc
xor eax, eax
inc eax
jmp 0x100033de
mov eax, ebx
mov ecx, dword [ebp - 0x24]
add esi, 3
mov dword [ebp - 0x170], eax
jmp 0x10003419
movzx edx, byte [ebp + esi - 0x67]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x6a]
movzx eax, word [ebp + eax*2 - 0x144]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + esi - 0x68]
mov word [ebp + eax*2 - 0x144], cx
mov ecx, ebx
add esi, 2
mov edx, 0x3ca3691f
cmp esi, 0x13
jb 0x1000331b
xor eax, eax
mov dword [ebp - 0x180], 7
mov word [ebp - 0x136], ax
lea ecx, [ebp - 0x194]
mov word [ebp - 0x194], ax
lea eax, [ebp - 0x144]
push eax
mov dword [ebp - 0x184], ebx
call fcn.10004e1c
mov dword [ebp - 4], 0xa
mov esi, ebx
mov dword [ebp - 0x30], ebx
cmp esi, 8
jae 0x1000357d
push 1
lea ecx, [ebp - 0xe0]
call fcn.100021db
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x18], ebx
jmp 0x1000349a
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xe0]
mov dword [eax + ecx*4], 0x2062
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x10003487
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100034b0
push ebx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1000353f
mov dword [ebp - 0x20], 0x1bc8
cmp dword [ebp - 0x20], 0x1e1e
jle 0x1000351d
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x24], ebx
or eax, esi
lea ecx, [ebp - 0x22c]
cdq
push edx
push eax
call fcn.10002dd6
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100034ee
mov eax, dword [eax]
push eax
call fcn.100476ff
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x22c]
call fcn.10004d30
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x3638
jl 0x100034d4
inc esi
cmp esi, 0x43e4
jl 0x100034cf
mov esi, dword [ebp - 0x30]
push ebx
call dword [sym.imp.GDI32.dll_CreateRectRgnIndirect]
cmp dword [ebp - 0x20], 0x1a2a
jge 0x10003538
push str.mhmxox_tmwie_xotkve_hhaebb_tix_dgm_gzlk_ais_yms_oprpf_ekklp_mjl_jglyxk_abgxu
call fcn.100476ff
pop ecx
mov dword [ebp - 4], 0xb
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0xe0], 0
je 0x1000356a
push dword [ebp - 0xe0]
call fcn.10046c84
pop ecx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xd8], ebx
xor eax, eax
mov word [ebp + esi*2 - 0x144], ax
inc esi
mov dword [ebp - 0x30], esi
jmp 0x10003468
push dword [ebp - 0x110]
lea ecx, [ebp - 0x1cc]
call fcn.10004a02
mov byte [ebp - 4], 0xe
mov eax, 0x6b95
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x3c], 0xffb91e60
mov dword [ebp - 0x48], 0xfffc
mov dword [ebp - 0x18], 0x79ac
cmp dword [ebp - 0x18], 0x7c68
jle 0x10003641
mov ecx, ebx
mov dword [ebp - 0x30], ebx
mov esi, ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x20], esi
mov eax, ebx
and esi, ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], ebx
mov ebx, eax
xor ebx, esi
mov esi, dword [ebp - 0x28]
mov eax, esi
mov ecx, 0x10079c18
or eax, ebx
cdq
push edx
push eax
call fcn.100048ed
inc esi
cmp esi, 0x4264
jl 0x100035f5
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x24], eax
push 0
pop ebx
cmp eax, 0x4b7
jl 0x100035eb
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
inc esi
mov dword [ebp - 0x38], esi
cmp esi, 0x464c
jl 0x100035de
inc ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 0x63e
jl 0x100035d9
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x18], 0x78a1
jge 0x1000367e
mov edx, str.aleabpmb_ybmvhln_lryfp_ulxhkqcxz
mov ecx, 0x10079c18
call fcn.10006b05
jmp 0x1000367e
xor edx, edx
mov dword [ebp - 4], 0xe
inc edx
mov dword [ebp - 0x18], ebx
jmp 0x1000369a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x10c], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1000368d
mov dword [ebp - 0x18], 0xffffffed
cmp dword [ebp - 0x18], 0xfffffff3
jg 0x100039d8
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x28], 0xb79df948
mov dword [ebp - 0x34], 0x12
cmp dword [ebp - 0x34], 0x16
jg 0x100039d0
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x38], 0x8805e531
mov dword [ebp - 0x38], 0xb75
cmp dword [ebp - 0x38], 0xbb9
jle 0x10003746
mov eax, ebx
mov dword [ebp - 0x30], ebx
mov esi, ebx
mov ecx, esi
mov edx, ebx
sar eax, cl
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x28], eax
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov eax, edx
shl eax, cl
mov ecx, 0x10079c18
xor eax, dword [ebp - 0x28]
cdq
push edx
push eax
call fcn.100048ed
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x6290
jl 0x100036fd
inc edx
mov dword [ebp - 0x20], edx
cmp edx, 0x4c28
jl 0x100036f8
mov eax, dword [ebp - 0x30]
inc esi
cmp esi, 0x4c46
jl 0x100036ec
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x331c
jl 0x100036ea
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x38], 0xb3a
jge 0x10003783
mov edx, str.hlngy_hieqsckx_pobgtebf_ykk_iub_drhozqeh_gjtf_jmttnzbqr
mov ecx, 0x10079c18
call fcn.10006b05
jmp 0x10003783
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x28], ebx
jmp 0x100037a0
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x19c], 1
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jl 0x1000378f
mov dword [ebp - 0x2c], edi
cmp dword [ebp - 0x2c], ebx
jl 0x100039c5
mov dword [ebp - 0x38], 0x626dac17
mov dword [ebp - 0x24], 0x93498396
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100037da
push ebx
push 0x2057
push 0x2118
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xb0]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp + eax*4 - 0xb0]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0xb0]
cmp edx, eax
setle cl
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0xac], 0xfffc
cmp eax, 0x219a6fdd
setl cl
xor eax, eax
cmp ecx, 6
setl al
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], ebx
jne 0x100039ad
cmp dword [ebp - 0x2c], ebx
jne 0x100039ad
mov dword [ebp - 0x44], 0xfff8
xor ecx, ecx
mov dword [ebp - 0x38], 0x33b947e2
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
inc dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
test eax, eax
mov eax, dword [ebp - 0x2c]
sets cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x44]
setge dl
xor ecx, ecx
cmp eax, edx
setg cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xac]
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
mov dword [ebp - 0x24], edx
mov edx, dword [ebp + eax*4 - 0xb0]
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x24], eax
setg cl
add edx, ecx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x3c], ebx
jmp 0x100039a2
mov dword [ebp - 0x30], 0x85da4005
mov dword [ebp - 0x44], ebx
jmp 0x10003996
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], 0x98b3027f
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x20], ebx
jne 0x10003902
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, 0x70207789
setg cl
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x28]
imul ecx, dword [ebp - 0x34]
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jne 0x10003902
mov eax, ebx
jmp 0x10003905
xor eax, eax
inc eax
xor edx, edx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setg dl
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x38]
sub edx, eax
mov eax, dword [ebp - 0x48]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0xa8]
mov esi, dword [ebp - 0x34]
setle cl
xor edx, edx
cmp ecx, eax
setne dl
xor ecx, ecx
imul esi, edx
mov dword [ebp - 0x10c], esi
mov eax, dword [ebp - 0x20]
cmp esi, eax
setl cl
imul ecx, dword [ebp - 0x30]
inc ecx
mov dword [ebp - 0x198], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
cmp eax, 0xb496
mov eax, dword [ebp - 0x24]
setge cl
sub ecx, 0x576ff1d2
neg ecx
sbb ecx, ecx
inc ecx
dec dword [ebp - 0x24]
cmp eax, ecx
jl 0x10003984
xor edx, edx
inc edx
jmp 0x10003986
mov edx, ebx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x24], ecx
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], edi
jle 0x100038bc
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], edi
jle 0x100038ad
jmp 0x100039bc
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100039bc
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
dec dword [ebp - 0x2c]
jns 0x100037b2
inc dword [ebp - 0x34]
xor edx, edx
inc edx
jmp 0x100036c1
inc dword [ebp - 0x18]
jmp 0x100036a6
mov dword [ebp - 0x34], 0xcc14173b
mov dword [ebp - 0x24], 0x72fa
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x30], 0x467b
mov dword [ebp - 0x48], 0xea1bca3
mov dword [ebp - 0x40], 0xd8e7029b
mov dword [ebp - 0x18], ebx
jmp 0x10003a15
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x50], 0xfffffff9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10003a07
cmp dword [ebp - 0x34], ebx
je 0x10003a4e
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp eax, 0x1f050678
setg cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0x1b7e280b
jge 0x10003a44
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov ecx, edx
mov eax, dword [ebp - 0x30]
jmp 0x10003a50
mov ecx, ebx
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x50]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
dec ecx
cmp ecx, 0x8214
jge 0x10003a77
cmp dword [ebp - 0x50], ebx
je 0x10003a77
xor edx, edx
inc edx
jmp 0x10003a79
mov edx, ebx
dec dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x50]
cmp edx, eax
setl cl
xor eax, eax
add ecx, 0x19570a50
cmp ecx, 0xfffffff8
mov ecx, 0x62b50098
setne al
sub ecx, eax
mov eax, dword [ebp - 0x24]
add eax, ecx
je 0x10003aa5
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x24], 0xfffffffc
mov dword [ebp - 0x48], 0xfffffff9
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x48]
neg ecx
push 2
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 6
lea ecx, [ebp - 0x84]
pop esi
sete al
imul eax, dword [ebp - 0x34]
push esi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x34], 0x6c165aa
mov dword [ebp - 0x18], 0x1e4f1f13
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x20], 0xbfb3a4df
call fcn.100021db
mov dword [ebp - 0x2c], ebx
jmp 0x10003b2b
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x11c], 0x12a3cc92
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x10003b1a
mov dword [ebp - 0x2c], ebx
jmp 0x10003b48
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x84]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x10003b35
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x18]
dec dword [eax]
mov eax, dword [ebp - 0x84]
imul ecx, dword [eax]
cmp ecx, dword [ebp - 0x114]
jne 0x10003bca
mov eax, dword [ebp - 0x118]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
cmp dword [ecx + 4], eax
mov eax, dword [ebp - 0x84]
setge dl
xor ecx, ecx
mov dword [ebp - 0x48], edx
mov edx, dword [eax]
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x48]
cmp eax, edx
setg cl
sub ecx, edx
add ecx, dword [ebp - 0x11c]
jne 0x10003bac
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor edx, edx
inc edx
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x84]
sub ecx, dword [eax]
imul eax, ecx, 0x4d41
test eax, eax
jne 0x10003bcc
mov edx, ebx
mov eax, dword [ebp - 0x118]
sub edx, eax
mov ecx, dword [ebp - 0x118]
lea eax, [edx - 0x43d9]
add ecx, eax
jne 0x10003be7
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x84]
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0x18], eax
call fcn.10046c84
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov byte [ebp - 0x4c], bl
mov byte [ebp - 0x4b], 0xb7
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x34], 0x2263126f
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x28], 0xd409884c
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x78], 0xfec1
mov dword [ebp - 0x40], 0x35935178
pop ecx
mov dword [ebp - 0x18], ebx
jmp 0x10003c53
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x128], 0xfffffffb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10003c42
mov dword [ebp - 0x2c], 0xfffffff9
jmp 0x10003d37
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x48], 0xf8f576c5
mov dword [ebp - 0x20], 0xf76ec751
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x18], 0xfffffff7
mov dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x120]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
sub eax, 0xfffffffc
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
imul eax, dword [ebp - 0x44], 0xfffffff8
test eax, eax
je 0x10003cb5
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x128]
dec dword [ebp - 0x28]
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x44]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, 0xe96f77d9
setg cl
sub ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
inc ecx
cmp eax, ecx
sbb ecx, ecx
xor eax, eax
neg ecx
add ecx, dword [ebp - 0x28]
cmp ecx, 0x9640
setge al
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x44], esi
cmp dword [ebp - 0x44], ebx
jl 0x10003d34
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10003d2f
push ebx
call dword [sym.imp.USER32.dll_DestroyMenu]
dec dword [ebp - 0x44]
jns 0x10003d1f
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x1d
jl 0x10003c64
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], 0x14
je 0x10003f2f
mov dword [ebp - 0x30], 0x4b17
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x2c], 0xfffffff1
cmp dword [ebp - 0x2c], edi
jle 0x10003f27
mov dword [ebp - 0x34], 0x2b97
mov dword [ebp - 0x40], 0x174c
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x34], 0x2c18
jle 0x10003dfe
mov ecx, ebx
mov dword [ebp - 0x20], ebx
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], ecx
mov edx, ebx
mov ecx, eax
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x24]
shl eax, cl
mov dword [ebp - 0x24], eax
mov ecx, edx
sar eax, cl
lea ecx, [ebp - 0x250]
cdq
push edx
push eax
call fcn.10002dd6
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10003dba
mov eax, dword [eax]
push eax
call fcn.100476ff
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x250]
call fcn.10004d30
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
inc edx
mov dword [ebp - 0x38], edx
cmp edx, 0x38f9
jl 0x10003d9e
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x71fd
jl 0x10003d8c
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x4ff0
jl 0x10003d87
mov dword [ebp - 0x44], 0xbae88b14
cmp dword [ebp - 0x34], 0x2ae5
jge 0x10003e19
push str.bmdgia_choboiqyo_pidstud_jnnztlr_hsjqrh_sgfh_hndi_bxbd_eloaxpuax_naff_dazlufawy_xwpfkje
call fcn.100476ff
pop ecx
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x3c], ebx
jmp 0x10003f15
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x34], 0xfffffff8
jmp 0x10003f09
push esi
lea ecx, [ebp - 0xc8]
call fcn.100021db
mov dword [ebp - 0x18], ebx
jmp 0x10003e62
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc8]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10003e4f
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x44], ebx
jne 0x10003e7c
cmp dword [ebp - 0x20], 0xffff
ja 0x10003e7c
mov ecx, ebx
jmp 0x10003e7f
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x44]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp dword [ebp - 0x2c], ecx
jne 0x10003ea1
cmp dword [ebp - 0x44], ebx
jne 0x10003ea1
mov eax, ebx
jmp 0x10003ea4
xor eax, eax
inc eax
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x30]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
je 0x10003eca
mov eax, dword [ebp - 0xc8]
cmp dword [eax], ebx
je 0x10003eca
xor ecx, ecx
inc ecx
jmp 0x10003ecc
mov ecx, ebx
mov eax, dword [ebp - 0x30]
sub ecx, eax
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x20]
neg eax
cmp dword [ebp - 0xc8], 0
mov dword [ebp - 0x128], eax
je 0x10003f06
push dword [ebp - 0xc8]
call fcn.10046c84
pop ecx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xc0], ebx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edi
jl 0x10003e3e
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x13
jl 0x10003e2b
inc dword [ebp - 0x2c]
jmp 0x10003d5f
inc dword [ebp - 0x28]
jmp 0x10003d44
mov dl, byte [ebp - 0x4b]
mov al, dl
and dl, 0xeb
or al, 0xeb
movzx ecx, al
movzx eax, dl
sub cx, ax
movzx eax, byte [ebp - 0x4c]
mov word [ebp + eax*2 - 0x74], cx
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x10003f68
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x238], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10003f57
mov dword [ebp - 0x18], ebx
jmp 0x10003fa8
mov dword [ebp - 0x20], 0xfffffff8
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10003f8a
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], ebx
jl 0x10003fa5
mov dword [ebp - 0x40], 0x1ded6804
mov dword [ebp - 0x40], 0xfaaaeb9a
dec dword [ebp - 0x20]
jns 0x10003f92
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x10003f72
xor eax, eax
mov dword [ebp - 0x14c], ebx
push 7
mov word [ebp - 0x72], ax
lea ecx, [ebp - 0x15c]
pop esi
mov word [ebp - 0x15c], ax
lea eax, [ebp - 0x74]
push eax
mov dword [ebp - 0x148], esi
call fcn.10004e1c
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x18], ebx
jmp 0x10003ffc
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x108], 0xc204e2db
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x10003feb
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10004017
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jl 0x1000408d
push 1
lea ecx, [ebp - 0xf8]
call fcn.100021db
mov dword [ebp - 0x18], ebx
jmp 0x10004044
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xf8]
mov dword [eax + ecx*4], 0x197f0a2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x10004031
mov eax, dword [ebp - 0xf8]
mov dword [eax], ebx
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10004062
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0xf8]
inc dword [eax]
cmp dword [eax], 0
jle 0x10004052
push eax
call fcn.10046c84
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xf0], ebx
dec dword [ebp - 0x20]
pop ecx
jns 0x1000401f
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x28], ebx
jmp 0x100040d4
mov dword [ebp - 0x18], 0x94a18885
mov dword [ebp - 0x18], 8
jmp 0x100040cb
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100040c8
push ebx
push 0x1d7e
push 0xffc
push 0x920
call dword [sym.imp.GDI32.dll_SetViewportExtEx]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jne 0x100040a9
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jle 0x10004099
push 0x5f
pop eax
mov word [ebp - 0x6c], ax
lea ecx, [ebp - 0x1b4]
xor eax, eax
mov byte [ebp - 0x70], bl
mov word [ebp - 0x6a], ax
mov word [ebp - 0x1b4], ax
lea eax, [ebp - 0x6c]
push eax
mov byte [ebp - 0x6f], 0x1c
mov dword [ebp - 0x1a0], esi
mov dword [ebp - 0x1a4], ebx
call fcn.10004e1c
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x1dc]
push dword [ebp - 0x108]
movdqa xmm0, xmmword [0x1006cdd0]
lea ecx, [ebp - 0x90]
push eax
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x90], ebx
push eax
push ebx
movdqu xmmword [ebp - 0x1ec], xmm0
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
call fcn.100022f1
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x3c], 0x18885c6f
mov dword [ebp - 0x40], 0x5fd0a320
mov dword [ebp - 0x44], 0xbaf9eb11
mov dword [ebp - 0x38], 0x7865e1bf
mov dword [ebp - 0x40], 0xf2a6ca0c
mov dword [ebp - 0x38], 0x568c0775
mov dword [ebp - 0x18], ebx
jmp 0x10004199
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1fc], 2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10004188
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], edi
jg 0x10004351
mov dword [ebp - 0x18], 0xe5f36f6d
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x40], 0x9b885b3d
push 2
call fcn.100021db
mov dword [ebp - 0x20], 0xd6158f87
mov dword [ebp - 0x34], 1
push 2
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x18], ebx
pop esi
jmp 0x100041f5
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xd4]
mov dword [eax + ecx*4], 0xc095b676
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100041e2
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10004211
push ebx
push 0xdea
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x18], ebx
jmp 0x10004313
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x30], 0x29d3
mov dword [ebp - 0x28], ebx
jmp 0x10004236
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x54], 0x58a922a1
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 1
jl 0x10004228
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x90]
cmp dword [eax + ecx*4], ebx
jne 0x1000427a
dec dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x20]
cmp dword [edx + 4], eax
setg cl
mov dword [edx + 4], ecx
test ecx, ecx
jne 0x1000426e
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x38]
add eax, 0x1ee32b12
jne 0x100042a2
cmp dword [ebp - 0x34], ebx
jne 0x100042a2
mov eax, ebx
jmp 0x100042a5
xor eax, eax
inc eax
add eax, 0xf4b4
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
cmp eax, 1
setg cl
cmp ecx, dword [ebp - 0x24]
jle 0x100042cc
mov dword [ebp - 0x28], 1
cmp dword [ebp - 0x54], ebx
jne 0x100042cf
mov dword [ebp - 0x28], ebx
dec dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0x54]
cmp eax, 0x56cdaa93
mov eax, dword [ebp - 0x30]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, dword [ebp - 0x28]
mov ecx, 0xe05bf5ef
setne al
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x38]
jg 0x1000430a
cmp dword [ebp - 0x54], ebx
jne 0x1000430a
mov eax, ebx
jmp 0x1000430d
xor eax, eax
inc eax
mov dword [ebp - 0x44], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x10004219
cmp dword [ebp - 0xd4], 0
je 0x10004343
push dword [ebp - 0xd4]
call fcn.10046c84
pop ecx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ebx
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], edi
jle 0x100041ab
jmp 0x10004354
push 2
pop esi
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0x90], 0
je 0x1000437f
push dword [ebp - 0x90]
call fcn.10046c84
pop ecx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x6c], ebx
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x28], 0x444182bd
push esi
call fcn.100021db
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x20], 0x90660d64
mov dword [ebp - 0x40], 0x7911b9c6
mov dword [ebp - 0x40], 0xc7e318b4
mov dword [ebp - 0x18], ebx
jmp 0x100043c9
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xec]
mov dword [eax + ecx*4], 0xa2c7c8a6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100043b6
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
je 0x100043e3
mov eax, dword [ebp - 0x24]
mov ecx, ebx
mov eax, dword [ebp - 0x28]
jmp 0x100043e6
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x28]
xor edx, edx
imul eax, ecx
test eax, eax
setg dl
xor ecx, ecx
imul edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 0xffb9
setl al
mov dword [ebp - 0x20], eax
imul eax, dword [ebp - 0x20], 0x2c36
sub eax, 0x8d92
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
je 0x10004428
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xec]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x20]
cmp edx, eax
push dword [ebp - 0xec]
setge cl
mov dword [ebp - 0x40], ecx
call fcn.10046c84
pop ecx
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xe4], ebx
push dword [ebp - 0x14c]
cmp dword [ebp - 0x148], 8
lea eax, [ebp - 0x15c]
push ebx
cmovae eax, dword [ebp - 0x15c]
lea ecx, [ebp - 0x1cc]
push eax
call fcn.10005198
cmp eax, 0xffffffff
je 0x100044a8
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x1b4]
push ecx
push 1
push eax
lea ecx, [ebp - 0x1cc]
call fcn.10004ea4
jmp 0x10004462
mov dword [ebp - 0x20], 0xe17c
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x30], 0xea388845
mov dword [ebp - 0x28], 0x188753e
push edi
call fcn.100021db
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x24], 0x20796559
push 1
call fcn.100021db
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x40], 0xf839
mov dword [ebp - 0x2c], ebx
jmp 0x10004503
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x134]
mov dword [eax + ecx*4], 0x338886a6
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x100044f0
mov dword [ebp - 0x2c], ebx
jmp 0x10004520
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x168]
mov dword [eax + ecx*4], 0xb5a2
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 1
jl 0x1000450d
mov dword [ebp - 0x2c], ebx
jmp 0x1000453c
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x1f4], 0xfffffffe
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x1000452b
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x20]
cmp eax, 0xfffffff9
jne 0x10004564
cmp dword [ebp - 0x28], ebx
jne 0x10004564
mov eax, ebx
jmp 0x10004567
xor eax, eax
inc eax
xor ecx, ecx
cmp eax, 0x719d
mov eax, dword [ebp - 0x28]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x20]
setle dl
mov eax, dword [eax]
add eax, 0x4f35204f
add edx, eax
mov eax, dword [ebp - 0x134]
imul ecx, dword [eax]
imul ecx, edx
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x24], ebx
jne 0x100045aa
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x168]
xor edx, edx
imul eax, dword [eax], 0xf20b
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setne dl
xor ecx, ecx
mov dword [ebp - 0x40], edx
mov edx, dword [ebp - 0x168]
push edx
cmp dword [edx], eax
setl cl
xor eax, eax
cmp dword [ebp - 0x40], ecx
setne al
mov dword [ebp - 0x40], eax
call fcn.10046c84
pop ecx
mov byte [ebp - 4], 0x18
push dword [ebp - 0x134]
call fcn.10046c84
pop ecx
mov ecx, dword [ebp - 0x94]
lea eax, [ebp - 0x1cc]
push eax
lea edx, [ebp - 0x194]
call fcn.10006cdc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1b4]
call fcn.1000523b
push ebx
push 1
lea ecx, [ebp - 0x15c]
call fcn.1000523b
push ebx
push 1
lea ecx, [ebp - 0x1cc]
call fcn.1000523b
push ebx
push 1
lea ecx, [ebp - 0x194]
call fcn.1000523b
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x94]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret