Function at 0x429400
Capabilities:
Enumerate files on windows
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x5c0
mov eax, dword [0x518450]
xor eax, esp
mov dword [esp + 0x5bc], eax
mov eax, dword [esp + 0x5c8]
push ebx
mov ebx, ecx
mov dword [esp + 0xc], eax
xor ecx, ecx
push ebp
mov ebp, dword [esp + 0x5cc]
mov byte [esp + 0xb], cl
cmp byte [ebx + 0x7f], cl
jne 0x42943c
mov al, 1
jmp 0x429b2e
test dword [ebx + 0x1c8], 0x100
jne 0x42946c
push 0x71f61583
push 0xb354ddaa
push 0xf3485fbc
call fcn.00401daa
push eax
push 2
push dword [ebx + 0x60]
call fcn.0042040f
add esp, 0x18
jmp 0x429435
push esi
push 0x104
lea eax, [esp + 0x3c4]
mov dword [esp + 0x14], ecx
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x3c0]
push 0x5c
push eax
call fcn.004bb2a8
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x429555
push 0x3598d696
push 0xf73a1ea8
push 0xb7269c90
call fcn.00401ddd
mov ecx, eax
lea edx, [esi + 2]
add esp, 0xc
sub edx, ecx
movzx eax, word [ecx]
mov word [edx + ecx], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x4294be
lea eax, [esp + 0x3c0]
push eax
call fcn.0041fe91
pop ecx
test al, al
je 0x429555
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x3c4]
push eax
lea eax, [ebx + 0x21c]
push eax
call fcn.00427c93
mov esi, eax
add esp, 0xc
test esi, esi
je 0x429555
push dword [esp + 0x10]
mov ecx, ebx
push esi
call fcn.0043705f
push esi
mov byte [esp + 0x13], al
call fcn.0040507c
cmp byte [esp + 0x13], 0
pop ecx
je 0x429555
lea eax, [esp + 0x3c0]
push eax
push 0x502c9d2a
push 0x928e551b
push 0xd292d751
call fcn.00401ddd
add esp, 0xc
push eax
push 5
push dword [ebx + 0x60]
call fcn.00420508
mov al, byte [esp + 0x1f]
add esp, 0x10
jmp 0x429b2d
mov ecx, dword [0x52aa58]
lea eax, [esp + 0x3c0]
push edi
push eax
call fcn.0040df75
push 0x2388d826
mov edi, eax
push 0xe12a1018
push 0xa1369242
mov dword [esp + 0x28], edi
call fcn.00401ddd
mov edx, edi
add esp, 0xc
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
lea eax, [eax + 2]
test cx, cx
jne 0x42958a
lea eax, [esp + 0x3c4]
push eax
call fcn.0041fe91
pop ecx
test al, al
je 0x429657
call fcn.004045d9
test eax, eax
je 0x42962a
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x3c8]
push eax
lea eax, [ebx + 0x21c]
push eax
call fcn.00427c93
mov esi, eax
add esp, 0xc
test esi, esi
je 0x429657
push dword [esp + 0x14]
mov ecx, ebx
push esi
call fcn.0043705f
push esi
mov byte [esp + 0x17], al
call fcn.0040507c
cmp byte [esp + 0x17], 0
pop ecx
je 0x429657
lea eax, [esp + 0x3c4]
push eax
push 0xf2024760
push 0x30a08f51
push 0x70bc0d3d
call fcn.00401ddd
add esp, 0xc
push eax
push 5
push dword [ebx + 0x60]
call fcn.00420508
add esp, 0x10
jmp 0x429b28
lea eax, [esp + 0x3c4]
push eax
push 0x1658db7a
push 0xd4fa1357
push 0x94e6912b
call fcn.00401daa
add esp, 0xc
push eax
push 2
push dword [ebx + 0x60]
call fcn.0042040f
add esp, 0x10
test byte [ebp + 0xa], 1
jne 0x4296f3
push dword [esp + 0x18]
lea eax, [esp + 0x3b8]
mov ecx, ebx
push ebp
push eax
call fcn.00428c70
test al, al
jne 0x42969d
push 0x6147ba2b
push 0xa3e5720a
push 0xe3f9f790
call fcn.00401daa
push eax
push 2
push dword [ebx + 0x60]
call fcn.0042040f
add esp, 0x18
jmp 0x4296f3
push 0
lea eax, [esp + 0x3b8]
push 0
push eax
call fcn.0042b92d
add esp, 0xc
push eax
push 0x9b85e5b9
push 0x59272d87
push 0x193ba833
call fcn.00401daa
add esp, 0xc
push eax
push 1
push dword [ebx + 0x60]
call fcn.0042040f
lea edi, [ebp + 0x8c]
add esp, 0x10
or dword [ebp + 8], 0x10000
lea esi, [esp + 0x3b4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x1c]
push edi
lea eax, [ebp + 0x8c]
push 0x10
push eax
call fcn.004202df
push 0x38d5bca1
push 0xfa777492
push 0xba6bf12c
lea esi, [edi + 0x40]
call fcn.00401ddd
mov edx, esi
add esp, 0x18
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
lea eax, [eax + 2]
test cx, cx
jne 0x429720
lea eax, [esp + 0x3c4]
push eax
call fcn.0041fe91
pop ecx
test al, al
je 0x42979a
and dword [esp + 0x14], 0
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x3c8]
push eax
call fcn.004201a7
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x42979a
push dword [esp + 0x14]
mov ecx, ebx
push edi
call fcn.00437541
push edi
mov byte [esp + 0x17], al
call fcn.0040507c
cmp byte [esp + 0x17], 0
pop ecx
je 0x42979a
lea eax, [esp + 0x3c4]
push eax
push 0x435fe871
push 0x81fd204f
push 0xc1e1a585
jmp 0x429a70
lea eax, [ebx + 0x94]
push eax
push 0xe19a29db
push 0x2338e1e5
push 0x63246431
call fcn.00401ddd
add esp, 0xc
push eax
push esi
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x3d0]
push eax
call fcn.0041fe91
add esp, 0x10
test al, al
je 0x42982d
and dword [esp + 0x14], 0
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x3c8]
push eax
call fcn.004201a7
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x42982d
push dword [esp + 0x14]
mov ecx, ebx
push edi
call fcn.00437541
push edi
mov byte [esp + 0x17], al
call fcn.0040507c
cmp byte [esp + 0x17], 0
pop ecx
je 0x42982d
lea eax, [esp + 0x3c4]
push eax
push 0x2aaee1ee
push 0xe80c29d0
push 0xa810ac36
jmp 0x429a70
push 0x96ae81df
push 0x540c49ee
push 0x1410cc1e
call fcn.00401ddd
add esp, 0xc
sub esi, eax
movzx ecx, word [eax]
mov word [esi + eax], cx
lea eax, [eax + 2]
test cx, cx
jne 0x429846
and dword [esp + 0x164], 0
lea eax, [esp + 0x168]
push 0x24c
push 0
push eax
call fcn.004bf040
add esp, 0xc
lea eax, [esp + 0x164]
push eax
lea eax, [esp + 0x3c8]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x429925
lea eax, [esp + 0x3c4]
push 0x5c
push eax
call fcn.004bb2a8
mov edx, eax
pop ecx
pop ecx
test edx, edx
je 0x42991e
lea ecx, [esp + 0x190]
mov eax, ecx
sub edx, eax
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx], ax
test ax, ax
jne 0x4298b7
and dword [esp + 0x14], 0
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x3c8]
push eax
call fcn.004201a7
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x429907
push dword [esp + 0x14]
mov ecx, ebx
push esi
call fcn.00437541
push esi
mov byte [esp + 0x17], al
call fcn.0040507c
cmp byte [esp + 0x17], 0
pop ecx
jne 0x429a59
lea eax, [esp + 0x164]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x429895
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
call fcn.004045d9
test eax, eax
je 0x429b0f
push 0x143
lea eax, [esp + 0x25]
push 0
push eax
call fcn.004bf040
mov al, byte [ebp + 0x73]
mov byte [esp + 0x2c], 1
mov byte [esp + 0x2e], al
mov byte [esp + 0x2f], 0xef
call fcn.0040abee
mov dword [esp + 0x68], eax
lea esi, [ebp + 0x58]
mov eax, dword [ebx + 0x224]
lea edi, [esp + 0x4c]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x1a8]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0x1ac]
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x21c]
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0x220]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0xac]
push 5
pop ecx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x30], 0xa78
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x64], eax
movzx eax, byte [esp + 0x2e]
push eax
lea eax, [ebp + 0x140]
push eax
lea eax, [esp + 0x78]
push eax
call fcn.004be9f0
and dword [esp + 0x30], 0
lea eax, [esp + 0x30]
push eax
movzx eax, byte [esp + 0x3e]
add eax, 0x44
push eax
lea eax, [esp + 0x40]
push eax
call fcn.0043b38c
add esp, 0x24
cmp eax, 0xc8
jne 0x429a8d
mov eax, dword [esp + 0x18]
test eax, eax
je 0x429aed
cmp dword [eax], 0x12bfbbef
jne 0x429a4d
push dword [eax + 8]
add eax, 0x10
mov ecx, ebx
push eax
call fcn.0043705f
mov byte [esp + 0x13], al
test al, al
je 0x429a49
push 0x3aa801ca
push 0xf80ac9ec
push 0xb8164ce6
call fcn.00401ddd
push eax
push 5
push dword [ebx + 0x60]
call fcn.00420508
add esp, 0x18
mov eax, dword [esp + 0x18]
push eax
call fcn.0040507c
pop ecx
jmp 0x429b28
lea eax, [esp + 0x3c4]
push eax
push 0x1948ee68
push 0xdbea2656
push 0x9bf6a356
call fcn.00401daa
add esp, 0xc
push eax
push 1
push dword [ebx + 0x60]
call fcn.0042040f
add esp, 0x10
mov al, 1
jmp 0x429b2c
cmp eax, 0x1e1
jne 0x429aa5
push 0x6d4e4dea
push 0xafec85cb
push 0xeff000e7
jmp 0x429afc
cmp eax, 0x1e0
jne 0x429abd
push 0xaa262403
push 0x6884ec2a
push 0x2898696c
jmp 0x429afc
cmp eax, 0x1e2
jne 0x429ad5
push 0x6d91de34
push 0xaf331611
push 0xef2f9379
jmp 0x429afc
cmp eax, 0x1e3
jne 0x429aed
push 0xf674a8d0
push 0x34d660fa
push 0x74cae584
jmp 0x429afc
push 0x2873de6f
push 0xead1164a
push 0xaacd92d6
call fcn.00401daa
push eax
push 3
push dword [ebx + 0x60]
call fcn.0042040f
add esp, 0x18
mov dword [ebx + 0x74], 0x21
mov al, byte [ebx + 0x26]
mov byte [ebx + 0x78], al
mov al, byte [ebx + 0x30]
mov byte [ebx + 0x79], al
mov al, byte [ebx + 0x31]
mov byte [ebx + 0x7a], al
mov al, byte [esp + 0x13]
pop edi
pop esi
mov ecx, dword [esp + 0x5c4]
pop ebp
pop ebx
xor ecx, esp
call fcn.004b9a6c
add esp, 0x5c0
ret 8