Function at 0x10022ea0
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004dafb
mov eax, dword fs:[0]
push eax
mov eax, 0x1684
call fcn.100270f0
mov eax, dword [0x10073498]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [0x1007345c], 0xffffffff
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x1690], ebx
jne 0x100233ee
mov eax, dword [0x10054e2c]
movq xmm0, qword [0x10054e24]
mov dword [ebp - 0x1408], eax
lea eax, [ebp - 0x1678]
push eax
lea eax, [ebp - 0x1410]
mov dword [0x1007345c], 0
push eax
mov dword [0x100c2214], 0
movq qword [ebp - 0x1410], xmm0
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
mov dword [ebp - 0x1680], edi
cmp edi, 0xffffffff
je 0x100233ee
nop dword [eax]
test byte [ebp - 0x1678], 0x10
je 0x100233cb
mov ecx, 0x10054e30
lea eax, [ebp - 0x164c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10022f7e
test dx, dx
je 0x10022f7a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10022f7e
add eax, 4
add ecx, 4
test dx, dx
jne 0x10022f58
xor eax, eax
jmp 0x10022f83
sbb eax, eax
or eax, 1
test eax, eax
je 0x100233cb
mov ecx, 0x10054e34
lea eax, [ebp - 0x164c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10022fbc
test dx, dx
je 0x10022fb8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10022fbc
add eax, 4
add ecx, 4
test dx, dx
jne 0x10022f96
xor eax, eax
jmp 0x10022fc1
sbb eax, eax
or eax, 1
test eax, eax
je 0x100233cb
xor eax, eax
mov dword [ebp - 0x1418], 0
mov dword [ebp - 0x1414], 7
mov word [ebp - 0x1428], ax
push 4
push str.DLC_
lea ecx, [ebp - 0x1428]
mov dword [ebp - 4], eax
call fcn.10021140
lea ecx, [ebp - 0x164c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10023004
sub ecx, edx
lea eax, [ebp - 0x164c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x1428]
call fcn.10020fc0
push 0xc
push str.content.xbx
lea ecx, [ebp - 0x1428]
call fcn.10020fc0
cmp dword [ebp - 0x1414], 8
lea eax, [ebp - 0x1428]
push 0x10054e64
cmovae eax, dword [ebp - 0x1428]
push eax
call fcn.100321d1
mov esi, eax
add esp, 8
mov dword [ebp - 0x168c], esi
test esi, esi
jne 0x100230b6
mov edx, dword [ebp - 0x1414]
mov dword [ebp - 4], 0xffffffff
cmp edx, 8
jb 0x100233ae
mov ecx, dword [ebp - 0x1428]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100230a7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002345c
push edx
push ecx
call fcn.10026804
add esp, 8
jmp 0x100233ae
mov eax, dword [0x1007345c]
lea ecx, [ebp - 0x164c]
mov edx, ecx
shl eax, 0xa
sub eax, edx
lea edx, [eax + 0x100c4ac0]
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x100230d0
push 0
push 2
push esi
call fcn.10032903
lea eax, [ebp - 0x410]
push eax
push esi
call fcn.10022d80
add esp, 0x14
lea eax, [ebp - 0x410]
mov ecx, str._All_
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10023125
test dl, dl
je 0x10023121
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10023125
add eax, 2
add ecx, 2
test dl, dl
jne 0x10023105
xor eax, eax
jmp 0x1002312a
sbb eax, eax
or eax, 1
test eax, eax
je 0x10023181
nop
push esi
call fcn.100322fa
add esp, 4
test eax, eax
jne 0x10023181
lea eax, [ebp - 0x410]
push eax
push esi
call fcn.10022d80
add esp, 8
lea ecx, [ebp - 0x410]
mov eax, str._All_
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x10023178
test dl, dl
je 0x10023174
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10023178
add ecx, 2
add eax, 2
test dl, dl
jne 0x10023158
xor eax, eax
jmp 0x1002317d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10023130
push 0x100b5970
push esi
call fcn.10022d80
push 0x100b5970
push esi
call fcn.10022d80
imul eax, dword [0x1007345c], 0x68
add eax, 0x100c2250
push eax
push str.TitleID_X
push 0x100b5970
call fcn.10026620
push 0x100b5970
push esi
call fcn.10022d80
push 0x100b5970
push esi
call fcn.10022d80
push 0x100b5970
push esi
call fcn.10022d80
push 0x100b5970
push esi
call fcn.10022d80
push 0x100b5970
push esi
call fcn.10022d80
add esp, 0x44
push 0x100b5970
push esi
call fcn.10022d80
imul eax, dword [0x1007345c], 0x68
add eax, 0x100c2218
push eax
push str.OfferingID_I64X
push 0x100b5970
call fcn.10026620
push 0x100b5970
push esi
call fcn.10022d80
push 0x100b5970
push esi
call fcn.10022d80
push 0x100b5970
push esi
call fcn.10022d80
push 0x100b5970
push esi
call fcn.10022d80
push 0x100b5970
push esi
call fcn.10022d80
add esp, 0x3c
xor edi, edi
imul eax, dword [0x1007345c], 0x68
mov dword [ebp - 0x1688], eax
nop dword [eax]
mov al, byte [edi + 0x100b597a]
mov dl, byte [edi + 0x100b597b]
lea ecx, [eax - 0x30]
movzx eax, al
cmp cl, 9
movzx ebx, cl
lea ecx, [edx - 0x30]
cmova ebx, eax
movzx eax, cl
mov dword [ebp - 0x167c], eax
cmp cl, 9
movzx eax, dl
mov edx, dword [ebp - 0x167c]
cmova edx, eax
lea ecx, [ebx - 0x41]
lea eax, [ebx - 0x37]
mov dword [ebp - 0x167c], edx
movzx eax, al
cmp cl, 5
mov dword [ebp - 0x1684], eax
movzx eax, bl
mov ebx, dword [ebp - 0x1684]
cmova ebx, eax
movzx eax, byte [ebp - 0x167c]
sub al, 0x37
shl bl, 4
movzx ecx, al
sub dl, 0x41
mov eax, dword [ebp - 0x167c]
cmp dl, 5
movzx eax, al
cmova ecx, eax
mov eax, edi
add bl, cl
shr eax, 1
mov ecx, dword [ebp - 0x1688]
add edi, 2
mov byte [eax + ecx + 0x100c2234], bl
cmp edi, 0x28
jl 0x10023260
xor eax, eax
xor edi, edi
mov word [0x100b7970], ax
nop dword [eax]
nop dword [eax + eax]
imul eax, dword [0x1007345c], 0x68
movzx eax, byte [eax + edi + 0x100c2234]
push eax
push 0x100b7970
push str._s_02X
push 0x100b7970
call dword [sym.imp.USER32.dll_wsprintfW]
inc edi
add esp, 0x10
cmp edi, 0x14
jl 0x10023310
mov esi, dword [ebp - 0x168c]
xor eax, eax
push esi
mov word [0x100b79c0], ax
call fcn.10032276
inc dword [0x100c2214]
add esp, 4
inc dword [0x1007345c]
mov edx, dword [ebp - 0x1414]
mov dword [ebp - 4], 0xffffffff
cmp edx, 8
jb 0x100233a8
mov ecx, dword [ebp - 0x1428]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002339e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002345c
push edx
push ecx
call fcn.10026804
add esp, 8
mov edi, dword [ebp - 0x1680]
xor eax, eax
mov dword [ebp - 0x1418], 0
mov dword [ebp - 0x1414], 7
mov word [ebp - 0x1428], ax
lea eax, [ebp - 0x1678]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x10022f40
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ebx, dword [ebp - 0x1690]
cmp ebx, dword [0x1007345c]
jle 0x100233fa
xor eax, eax
jmp 0x10023440
push 4
push str.DLC_
mov ecx, 0x10073440
call fcn.10021140
shl ebx, 0xa
add ebx, 0x100c4ac0
mov edx, ebx
lea esi, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10023420
sub edx, esi
mov ecx, 0x10073440
sar edx, 1
push edx
push ebx
call fcn.10020fc0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10026812
mov esp, ebp
pop ebp
ret
call fcn.1002ebe0
int3