Function at 0x42105b
Capabilities:
Enumerate files on windows
Identify system language via api

Disassembly:
sub esp, 0x490
mov eax, dword [0x517490]
xor eax, esp
mov dword [esp + 0x48c], eax
push esi
lea eax, [esp + 0x278]
xor esi, esi
push eax
call fcn.004042c2
pop ecx
cmp word [esp + 0x278], si
je 0x421092
xor eax, eax
inc eax
jmp 0x4212e2
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx eax, ax
mov ecx, 0x409
mov dword [esp + 0xc], eax
cmp ax, cx
jne 0x4210b0
xor eax, eax
jmp 0x4212e2
push ebx
push ebp
mov ebp, eax
mov dword [esp + 0x26a], esi
xor eax, eax
mov word [esp + 0x26e], si
mov word [esp + 0x268], ax
and ebp, 0x3ff
lea eax, [esp + 0x290]
push eax
call fcn.004209c1
pop ecx
push dword [0x529b18]
mov ebx, eax
push 0xc8df3887
push 0x6160fe4e
push 0xfaa0c729
mov dword [esp + 0x20], ebx
call fcn.0040182e
add esp, 0xc
push eax
push ebx
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [0x529b18]
add esp, 0xc
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x421118
sub ecx, edx
mov dword [esp + 0x18], esi
sar ecx, 1
lea eax, [esp + 0x1c]
push 0x24c
push esi
push eax
lea ebx, [ebx + ecx*2]
call fcn.004bea90
add esp, 0xc
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x294]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [esp + 0xc], eax
cmp eax, 0xffffffff
je 0x4212bc
push edi
test byte [esp + 0x1c], 0x10
jne 0x421284
xor eax, eax
lea edi, [esp + 0x276]
mov word [esp + 0x274], ax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [esp + 0x294]
push eax
push 8
lea eax, [esp + 0x27c]
push eax
push 0x4cf57f4
push 0xad709136
push 0x36b0a87b
call fcn.0040182e
add esp, 0xc
push eax
push 0xb66e7d3d
push 0x1fd1bbfd
push 0x841182b8
call fcn.0040182e
add esp, 0xc
push eax
push 0x44f88f9f
push 0xed474959
push 0x76877000
call fcn.0040182e
add esp, 0xc
push eax
call fcn.00420e8e
add esp, 0x18
test eax, eax
je 0x421280
cmp word [esp + 0x274], 0x30
jne 0x421228
cmp word [esp + 0x276], 0x78
je 0x42121d
cmp word [esp + 0x276], 0x58
jne 0x421228
push 0x10
lea eax, [esp + 0x27c]
jmp 0x421231
push 0xa
lea eax, [esp + 0x278]
push esi
push eax
call fcn.004bb791
mov ecx, eax
add esp, 0xc
mov eax, dword [esp + 0x18]
movzx eax, ax
cmp ecx, eax
je 0x42129d
cmp word [esp + 0x26c], si
jne 0x421280
and ecx, 0x3ff
cmp cx, bp
jne 0x421280
mov ax, word [ebx]
mov word [esp + 0x26c], ax
mov ax, word [ebx + 2]
mov word [esp + 0x26e], ax
mov ax, word [ebx + 4]
mov word [esp + 0x270], ax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x1c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x4212ad
mov eax, dword [esp + 0x10]
jmp 0x421162
xor eax, eax
push ebx
mov word [ebx + 6], ax
call fcn.00404392
xor esi, esi
pop ecx
inc esi
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
test esi, esi
jne 0x4212de
cmp word [esp + 0x268], 0
je 0x4212de
cmp bp, 9
je 0x4212de
lea eax, [esp + 0x268]
push eax
call fcn.00404392
xor esi, esi
pop ecx
inc esi
pop ebp
mov eax, esi
pop ebx
mov ecx, dword [esp + 0x490]
pop esi
xor ecx, esp
call fcn.004b94b6
add esp, 0x490
ret