Function at 0x100280d6
Capabilities:
Get common file path

Disassembly:
mov eax, 0x1005ef38
call fcn.1005dc20
sub esp, 0x13c
push ebx
push esi
mov dword [ebp - 0x1c], 0x6420
mov eax, ecx
push edi
xor ebx, ebx
mov dword [ebp - 0x10], esp
cmp dword [ebp - 0x1c], 0x6649
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x14], eax
jle 0x10028170
mov esi, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov eax, esi
mov ecx, ebx
cdq
idiv edi
mov dword [ebp - 0x20], ecx
mov edi, edx
mov esi, edi
mov dword [ebp - 0x2c], ebx
sar esi, cl
mov eax, esi
mov ecx, 0x100792d8
or eax, ebx
cdq
push edx
push eax
call fcn.10004ea6
inc ebx
cmp ebx, 0x4ebf
jl 0x10028123
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
push 0
pop ebx
cmp ecx, 0x2a6c
jl 0x1002811c
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x54bb
jl 0x10028110
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0x10b5
jl 0x1002810b
mov eax, dword [ebp - 0x14]
cmp byte [ebp + 0x20], 0
je 0x100281a1
cmp byte [ebp + 0x1c], 0
je 0x10028183
mov eax, dword [ebp + 0xc]
mov dword [eax], ebx
jmp 0x100281c6
mov edx, dword [ebp + 0x14]
mov dword [edx], ebx
jmp 0x1002819a
mov ecx, dword [edx]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [edx]
mov eax, dword [ebp - 0x14]
cmp dword [edx], 2
jl 0x1002818a
jmp 0x100281c6
cmp byte [ebp + 8], 0
je 0x1002820d
mov edx, dword [ebp + 0x24]
mov dword [edx], ebx
cmp dword [edx], 4
jge 0x100281c6
mov esi, dword [ebp + 0x10]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0xfabe4bca
inc dword [edx]
cmp dword [edx], 4
jl 0x100281b4
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x1c], 0x6416
jge 0x10028cc4
mov edx, str.qqqfemj_ocd_vyhtlwl_udaoji_hwshwxmvk_wqbw_xzee_etmf_tkavbw
mov ecx, 0x100792d8
call fcn.10008ec9
jmp 0x10028cc4
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 4], ebx
xor ecx, ecx
mov dword [ebp - 0x30], 0x1f2c29a3
inc ecx
mov dword [ebp + 0x20], ebx
jmp 0x10028236
mov eax, dword [ebp + 0x20]
mov dword [ebp + eax*4 - 0x54], 0xaf1124f0
inc dword [ebp + 0x20]
cmp dword [ebp + 0x20], ecx
jl 0x10028228
mov dword [ebp - 0x30], ebx
jmp 0x1002824e
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x54], 0x603fa75c
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x10028240
mov dword [ebp - 0x20], 0x3f73
cmp dword [ebp - 0x20], 0x4110
jle 0x100282c8
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x2c], esi
mov dword [ebp + 0x20], 0x3b04
mov edi, ebx
mov ecx, edi
mov eax, esi
shl eax, cl
lea ecx, [ebp - 0x130]
cdq
push edx
push eax
call fcn.10001aaa
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10028292
mov eax, dword [eax]
push eax
call fcn.10046fe3
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.100055ae
inc edi
cmp edi, 0x45d5
jl 0x10028274
dec esi
dec dword [ebp + 0x20]
jne 0x10028272
mov esi, dword [ebp - 0x1c]
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x3a2a
jl 0x10028268
xor ecx, ecx
inc ecx
mov dword [ebp - 0x54], 0xe29e
imul eax, dword [ebp - 0x30], 0xe29e
test eax, eax
je 0x100282fa
push ebx
push 0x4ac9
push 0x6c7a
push ecx
mov edx, 0x11fe
mov ecx, 0x3865
call fcn.1002a404
add esp, 0x10
jmp 0x1002830e
push ecx
lea eax, [ebp - 0x68]
mov dword [ebp - 0x68], ecx
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.10027f26
add esp, 0xc
cmp dword [ebp - 0x20], 0x3e2b
jge 0x10028322
push str.vqudsw_ztijuwhv_ikopmd_jiqwyji_arcsmfhyg_kwqwj_jdbanupzs_zttwa_ywxyfhrn
call fcn.10046fe3
pop ecx
mov edi, dword [ebp + 0x28]
mov dword [ebp - 4], ebx
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x10]
mov dword [ebp + 0x20], 0xef9d7865
mov dword [ebp - 0x18], 0x2c36544d
mov dword [ebp - 0x1c], 0xf948
mov dword [ebp - 0x28], 0xb16eb2d3
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x2c], eax
mov dword [ebp + 0x20], ebx
jmp 0x1002836d
mov eax, dword [ebp + 0x20]
mov dword [ebp + eax*4 - 0x44], 0x184c
inc dword [ebp + 0x20]
cmp dword [ebp + 0x20], 1
jl 0x1002835f
mov dword [ebp + 0x20], ebx
jmp 0x10028386
mov eax, dword [ebp + 0x20]
mov dword [ebp + eax*4 - 0x50], 0xc106ec6e
inc dword [ebp + 0x20]
cmp dword [ebp + 0x20], 1
jl 0x10028378
cmp dword [ebp - 0x44], ebx
je 0x100283aa
mov eax, dword [ebp - 0x18]
xor edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [ebp - 0x50], ecx
test ecx, ecx
je 0x100283aa
xor eax, eax
inc eax
jmp 0x100283ac
mov eax, ebx
cmp dword [edi + 0x14], 8
mov dword [ebp + 0x20], eax
jb 0x100283b9
mov eax, dword [edi]
jmp 0x100283bb
mov eax, edi
push dword [edi + 0x10]
mov ecx, dword [ebp - 0x24]
push ebx
push eax
call fcn.1002bf90
mov esi, ebx
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], eax
cmp esi, 0xffffffff
je 0x100289d3
cmp esi, dword [ebp - 0x2c]
jae 0x100289d3
push dword [ebp + 0x20]
movdqa xmm0, xmmword [0x1006c6f0]
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 0x3c], 0xffffffff
push eax
mov dword [ebp - 0x40], 0x816210b9
lea ecx, [ebp - 0x80]
push ebx
movdqu xmmword [ebp - 0xd8], xmm0
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
call fcn.100098a4
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 3
push eax
push ecx
push 0xb2c
xor esi, esi
mov dword [ebp + 0x20], ebx
inc esi
mov dword [ebp + 0x20], 0x60a22152
push esi
lea eax, [ebp - 0x3c]
push eax
push ecx
push 0x21c6
call fcn.10027abb
add esp, 0x1c
mov dword [ebp - 0x40], ebx
jmp 0x100284a9
mov dword [ebp - 0x6c], 0xffff
mov dword [ebp - 0x3c], ebx
jmp 0x100284a0
mov dword [ebp + 0x20], 0xbacc5d9b
mov dword [ebp + 0x20], 9
mov dword [ebp + 0x20], 3
cmp dword [ebp + 0x20], ebx
jl 0x1002849d
push ebx
push ecx
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x1c], 0xfffffffd
mov dword [ebp - 0x1c], 0xfffffffa
push eax
call fcn.10028cd5
add esp, 0xc
dec dword [ebp + 0x20]
jns 0x1002847c
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 3
jle 0x10028462
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffe5
jg 0x10028456
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], bl
call fcn.100051ca
mov eax, dword [ebp - 0x48]
cmp eax, 0xffffffff
je 0x10028512
cmp eax, dword [ebp - 0x4c]
je 0x100284ec
push ecx
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x48]
push eax
push 0x527e
lea eax, [ebp - 0x4c]
mov edx, 0x46e6
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.1002a8c9
mov eax, dword [ebp - 0x48]
add esp, 0x14
mov esi, dword [ebp - 0x14]
add esi, eax
cmp dword [edi + 0x14], 8
mov dword [ebp - 0x4c], esi
jb 0x100284fe
mov eax, dword [edi]
jmp 0x10028500
mov eax, edi
push dword [edi + 0x10]
mov ecx, dword [ebp - 0x24]
push esi
push eax
call fcn.1002bf90
jmp 0x100283cd
mov dword [ebp + 0x20], 4
mov dword [ebp - 0x20], 0x6d9e96bb
mov dword [ebp + 0x20], ebx
jmp 0x10028533
mov eax, dword [ebp + 0x20]
mov dword [ebp + eax*4 - 0x34], 9
inc dword [ebp + 0x20]
cmp dword [ebp + 0x20], esi
jl 0x10028525
mov dword [ebp + 0x20], ebx
jmp 0x100286f4
push 2
lea ecx, [ebp - 0x8c]
call fcn.10005147
mov byte [ebp - 4], 4
mov dword [ebp - 0x1c], 0x264a3a20
mov dword [ebp - 0x1c], 0x3adab8f5
mov dword [ebp - 0x1c], 0xbaf34c2
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0x14], ebx
jmp 0x10028594
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe8], 2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10028583
mov dword [ebp - 0x14], ebx
jmp 0x100285b2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x8c]
mov dword [eax + ecx*4], 0xddc4ea3c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002859f
push esi
push ecx
push 0x7eab
call fcn.10028cd5
mov eax, dword [ebp + 0x20]
xor edx, edx
add esp, 0xc
mov ecx, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp + 0x20]
cmp ecx, eax
sete dl
xor eax, eax
cmp edx, 0xffffffff
setne al
inc eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [ebp + 0x20]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], 0xc298
mov dword [ebp - 0x28], ebx
jmp 0x1002860f
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x74], 0xa6696b49
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x10028601
mov dword [ebp - 0xe8], 4
mov eax, dword [ebp - 0x18]
push 4
pop edx
sub edx, eax
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x8c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov dword [eax], edx
mov eax, dword [ebp + 0x20]
cmp eax, edx
mov eax, dword [ebp - 0x18]
setg cl
xor edx, edx
cmp ecx, eax
setge dl
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], ebx
je 0x10028661
mov eax, dword [ebp - 0x8c]
mov ecx, esi
cmp dword [eax], ebx
jne 0x10028663
mov ecx, ebx
mov eax, dword [ebp + 0x20]
mov eax, dword [ebp + eax*4 - 0x34]
sub ecx, eax
sub ecx, 0x588d
jne 0x1002867b
mov edx, ebx
cmp dword [ebp - 0x20], ebx
je 0x1002867d
mov edx, esi
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 0xffffffff
sbb eax, eax
xor edx, edx
neg eax
lea ecx, [eax - 0xfffa]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setl dl
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x1c]
add eax, 0x10c44a87
cmp eax, ecx
je 0x100286b7
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, esi
mov eax, dword [ebp + 0x20]
setg cl
sub ecx, dword [ebp + eax*4 - 0x34]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x8c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xb8], eax
mov byte [ebp - 4], bl
call fcn.100051ca
inc dword [ebp + 0x20]
cmp dword [ebp + 0x20], ebx
jle 0x10028540
mov byte [ebp + 0x23], bl
cmp byte [ebp + 0x23], 0
je 0x10028718
push 0x743c
xor dl, dl
mov ecx, 0x7b90
call fcn.1002ac3a
pop ecx
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x100]
push 0xffffffffffffffff
push dword [ebp - 0x4c]
push eax
call fcn.1002bb6f
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 5
call fcn.1002bc1d
push ebx
push esi
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], bl
call fcn.1000587a
mov dword [ebp + 0x20], 0xfffffffd
xor ecx, ecx
mov dword [ebp - 0x18], 0xad9bacc5
inc ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x2c], 0xda19ae86
mov dword [ebp - 0x24], ebx
jmp 0x10028777
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x58], 0xe74bb9ce
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x10028769
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp + 0x20]
sub edx, eax
mov eax, dword [ebp + 0x20]
sub edx, 0xfa8f90a3
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x20]
setle cl
sub edx, ecx
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0xbe8e
setle al
sub eax, 0xcf33
je 0x10028894
mov dword [ebp - 0x14], 0x6a7609fa
xor esi, esi
mov dword [ebp - 0x20], 2
inc esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], 0x61a7160c
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x14]
push 0xfffffffffffffff6
pop ecx
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x24], ecx
je 0x10028808
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp + 0x20]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
je 0x10028826
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
imul edx, dword [ebp + 0x20]
add edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x28]
cmp edx, eax
setg cl
xor edx, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x1c], 9
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x58]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x24]
imul edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x14]
je 0x1002888a
mov eax, ebx
cmp dword [ebp - 0x18], ebx
je 0x1002888c
mov eax, esi
mov dword [ebp - 0x20], eax
jmp 0x100289b1
push 4
lea ecx, [ebp - 0x98]
call fcn.10005147
mov byte [ebp - 4], 6
mov dword [ebp + 0x20], 0x660a
cmp dword [ebp + 0x20], 0x66ea
jle 0x1002891b
push 1
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov esi, ebx
mov edi, ebx
mov eax, esi
lea ecx, [ebp - 0x118]
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.10001aaa
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100288e8
mov eax, dword [eax]
push eax
call fcn.10046fe3
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x118]
call fcn.100055ae
inc edi
cmp edi, 0x10c7
jl 0x100288c9
inc esi
cmp esi, 0x5d7b
jl 0x100288c7
push 0x257c
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea eax, [ebp - 0x98]
mov cl, 1
push eax
push 0x4965
push 0x229b
push ebx
push 1
lea edx, [ebp - 0xc4]
call fcn.10027a08
add esp, 0x14
cmp dword [ebp + 0x20], 0x62ea
jge 0x10028953
push str.ebrmbtgdb_fws_vevgyfwid_ozx
call fcn.10046fe3
pop ecx
push 0x3a01
push 0x2a5d
lea eax, [ebp - 0x98]
mov dword [ebp - 4], 6
push eax
push 1
push 1
mov edx, 0x760a
mov cl, 1
call fcn.10027a08
push 0x2f8
push ebx
push 0x5310
lea eax, [ebp - 0x98]
mov edx, 0x1f64
push eax
push 0x4d63
push 1
mov cl, 1
call fcn.1002a25d
add esp, 0x2c
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x98]
call fcn.100051ca
mov byte [ebp + 0x23], bl
cmp byte [ebp + 0x23], 0
je 0x100289d3
push ebx
push ebx
push 0x1db
push 0x26b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ScrollWindow]
mov dword [ebp - 0x24], 0x1c83
cmp dword [ebp - 0x24], 0x1e4e
jle 0x10028a90
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov eax, edi
mov ecx, ebx
cdq
idiv esi
mov dword [ebp + 0x20], ecx
mov esi, edx
mov dword [ebp - 0x2c], esi
mov eax, esi
mov edi, ebx
cdq
idiv ecx
mov esi, edx
mov ecx, edi
mov eax, esi
shl eax, cl
lea ecx, [ebp - 0x148]
cdq
push edx
push eax
call fcn.10001aaa
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10028a27
mov eax, dword [eax]
push eax
call fcn.10046fe3
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x148]
call fcn.100055ae
inc edi
cmp edi, 0x6175
jl 0x10028a09
mov ecx, dword [ebp + 0x20]
mov esi, dword [ebp - 0x2c]
inc ecx
mov dword [ebp + 0x20], ecx
cmp ecx, 0x7bb3
jl 0x10028a00
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x15b5
jl 0x100289f1
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x3192
jl 0x100289ec
push 0x1e4f
push 0xde9
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetClassLongA]
cmp dword [ebp - 0x24], 0x1bd6
jge 0x10028aa4
push str.gfm_pul_wfxj_hklplmxt_vbmuv_qllef
call fcn.10046fe3
pop ecx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], 0x75b57fd5
mov dword [ebp - 0x14], 0xfffffff6
mov dword [ebp + 0x20], 0x95998ab5
mov dword [ebp - 0x28], 0x795ed7c6
mov dword [ebp + 0x20], 0xca955a63
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x18], ebx
jmp 0x10028c9f
mov dword [ebp - 0x20], 0x377cc424
xor edx, edx
mov dword [ebp - 0x1c], 0x70012af0
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x20], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], 1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setne dl
xor ecx, ecx
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x20]
je 0x10028b22
cmp dword [ebp + 0x20], ebx
jne 0x10028b22
mov eax, ebx
jmp 0x10028b25
xor eax, eax
inc eax
mov dword [ebp + 0x20], eax
mov eax, dword [ebp + 0x20]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
imul eax, dword [ebp - 0x14], 0xf219
cmp dword [ebp - 0x18], eax
jg 0x10028bcb
mov dword [ebp - 0x1c], 6
mov dword [ebp - 0x24], ebx
jmp 0x10028b5e
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xa4], 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x10028b4d
mov eax, dword [ebp - 0x9c]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x20], eax
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp + 0x20], ecx
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x9c]
setne dl
sub edx, dword [ebp + 0x20]
neg edx
sbb edx, edx
inc edx
mov dword [ebp + 0x20], edx
xor edx, edx
cmp eax, dword [ebp + 0x20]
mov eax, dword [ebp - 0x20]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp + 0x20], ecx
jmp 0x10028c82
mov dword [ebp + 0x20], 0xffffffff
lea ecx, [ebp - 0xb0]
push 2
call fcn.10005147
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0xb
push eax
push 0x753f
lea edx, [ebp - 0xc8]
xor cl, cl
call fcn.100280a4
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp + 0x20]
dec edx
neg edx
pop ecx
sbb edx, edx
pop ecx
xor ecx, ecx
inc edx
cmp eax, edx
setge cl
mov dword [ebp + 0x20], ecx
push ecx
cmp dword [ebp + 0x20], ebx
je 0x10028c54
push ecx
call fcn.1002b802
pop ecx
pop ecx
mov dword [ebp - 0x14], ebx
jmp 0x10028c4c
mov byte [ebp + 0x23], bl
cmp byte [ebp + 0x23], 0
je 0x10028c49
push 1
push 0x3165
push 0xd01
mov edx, 0xc53
call fcn.10027a83
add esp, 0xc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jle 0x10028c27
jmp 0x10028c6f
push 0x3109
lea edx, [ebp - 0x70]
mov dword [ebp - 0x70], 0xfffffff9
mov ecx, 0x6788
call fcn.10027cd3
pop ecx
pop ecx
mov byte [ebp - 4], bl
lea ecx, [ebp - 0xb0]
cmp dword [ebp - 0x2c], ebx
jne 0x10028cab
call fcn.100051ca
lea eax, [ebp - 0x35]
mov byte [ebp - 0x35], bl
push eax
push 0x46cf
mov edx, 0x48ef
xor cl, cl
call fcn.10028d03
dec dword [ebp - 0x18]
pop ecx
pop ecx
cmp dword [ebp - 0x18], 0xffffffe8
jl 0x10028ad9
jmp 0x10028cb0
call fcn.100051ca
mov ecx, dword [ebp + 0x18]
lea eax, [ebp - 0x64]
push eax
call fcn.1002bc8d
lea ecx, [ebp - 0x64]
call fcn.1002c0e7
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret