Function at 0x46d9c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4c8eac
mov eax, dword fs:[0]
push eax
sub esp, 0x334
mov eax, dword [0x4f55dc]
xor eax, esp
mov dword [esp + 0x330], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4f55dc]
xor eax, esp
push eax
lea eax, [esp + 0x348]
mov dword fs:[0], eax
cmp byte [ecx + 0x38], 0
lea esi, [ecx + 0x38]
mov eax, dword [esp + 0x35c]
mov edi, dword [esp + 0x358]
mov dword [esp + 0x1c], eax
jne 0x46da1d
mov ecx, esi
call fcn.0048b460
xor eax, eax
mov dword [esp + 0x78], 0
push 0xffffffffffffffff
push eax
mov word [esp + 0x70], ax
lea ecx, [esp + 0x70]
lea eax, [esi + 4]
mov dword [esp + 0x84], 0
push eax
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], 0
call fcn.00401fd0
mov dword [esp + 0x350], 0
cmp dword [esp + 0x78], 0
jne 0x46da76
xor bl, bl
jmp 0x46e0b5
mov edx, 0x10
lea ecx, [esp + 0x68]
call fcn.0040c5f0
push edi
lea edx, [esp + 0x6c]
lea ecx, [esp + 0xa0]
call fcn.0040c770
add esp, 4
mov byte [esp + 0x350], 1
push 4
call fcn.0049c7b6
mov ebp, eax
add esp, 4
mov dword [esp + 0x80], ebp
mov byte [esp + 0x350], 2
test ebp, ebp
je 0x46dacf
mov dword [ebp], 0
mov dword [ebp], 0xffffffff
jmp 0x46dad1
xor ebp, ebp
mov byte [esp + 0x350], 1
mov dword [esp + 0x80], ebp
mov byte [esp + 0x350], 3
lea ecx, [esp + 0xb4]
call fcn.0040cb60
mov byte [esp + 0x350], 4
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0xa0]
mov ecx, ebp
push eax
call fcn.0040cdc0
mov esi, dword [sym.imp.KERNEL32.dll_FindClose]
test al, al
jne 0x46dbe0
mov eax, dword [ebp]
cmp eax, 0xffffffff
je 0x46db37
push eax
call esi
test eax, eax
je 0x46db37
mov dword [ebp], 0xffffffff
cmp dword [esp + 0x7c], 8
lea eax, [esp + 0x68]
mov dword [esp + 0x78], 0
lea edx, [esp + 0x68]
cmovae eax, dword [esp + 0x68]
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x19
call fcn.0047aa10
test al, al
je 0x46dbd7
push edi
lea edx, [esp + 0x6c]
lea ecx, [esp + 0x3c]
call fcn.0040c770
add esp, 4
mov byte [esp + 0x350], 5
lea ecx, [esp + 0x9c]
push eax
call fcn.004075e0
mov byte [esp + 0x350], 4
cmp dword [esp + 0x4c], 8
jb 0x46dba5
push dword [esp + 0x38]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0x4c], 7
mov word [esp + 0x38], ax
mov ecx, ebp
lea eax, [esp + 0xb4]
mov dword [esp + 0x48], 0
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.0040cdc0
test al, al
jne 0x46dbe0
xor bl, bl
jmp 0x46dffd
xor eax, eax
mov dword [esp + 0x60], 0
push 0xffffffffffffffff
push eax
mov word [esp + 0x58], ax
lea ecx, [esp + 0x58]
lea eax, [esp + 0xe4]
mov dword [esp + 0x6c], 0
push eax
mov dword [esp + 0x70], 7
mov dword [esp + 0x6c], 0
call fcn.00401fd0
mov byte [esp + 0x350], 6
lea eax, [esp + 0x50]
push eax
lea edx, [esp + 0x6c]
lea ecx, [esp + 0x3c]
call fcn.0040c770
add esp, 4
mov byte [esp + 0x350], 7
xor eax, eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], 0
mov word [esp + 0x20], ax
mov byte [esp + 0x350], 8
lea edx, [esp + 0x20]
lea ecx, [esp + 0x38]
call fcn.0046ecd0
lea edx, [esp + 0x20]
lea ecx, [esp + 0x84]
call fcn.0040da60
mov byte [esp + 0x350], 9
cmp dword [esp + 0x30], 0
je 0x46dd1a
mov eax, dword [esp + 0x1c]
xor ebx, ebx
mov ecx, dword [eax + 4]
mov esi, dword [eax]
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x46dd1a
xor edi, edi
lea ecx, [ecx]
add esi, edi
cmp dword [esi + 0x14], 8
jb 0x46dcca
mov esi, dword [esi]
lea ecx, [esp + 0x84]
call fcn.004021f0
test esi, esi
jne 0x46dce1
test eax, eax
sete al
jmp 0x46dcee
test eax, eax
je 0x46dcf6
mov edx, eax
mov ecx, esi
call fcn.00406e80
test al, al
jne 0x46de55
mov eax, dword [esp + 0x1c]
inc ebx
add edi, 0x18
mov ecx, dword [eax + 4]
mov esi, dword [eax]
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x46dcc0
mov esi, dword [ebp]
cmp esi, 0xffffffff
je 0x46df1e
push 0x24c
lea eax, [esp + 0xfc]
mov dword [esp + 0xf8], 0
push 0
push eax
call fcn.004a1910
add esp, 0xc
lea eax, [esp + 0xf4]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
setne al
test al, al
je 0x46df1e
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0xf8]
push eax
call fcn.0040cf40
mov byte [esp + 0x350], 8
cmp dword [esp + 0x98], 8
jb 0x46dd9a
push dword [esp + 0x84]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0x98], 7
mov dword [esp + 0x94], 0
mov word [esp + 0x84], ax
mov byte [esp + 0x350], 7
cmp dword [esp + 0x34], 8
jb 0x46ddd5
push dword [esp + 0x20]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], 0
mov word [esp + 0x20], ax
mov byte [esp + 0x350], 6
cmp dword [esp + 0x4c], 8
jb 0x46de07
push dword [esp + 0x38]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0x4c], 7
mov dword [esp + 0x48], 0
mov word [esp + 0x38], ax
mov byte [esp + 0x350], 4
cmp dword [esp + 0x64], 8
jb 0x46de39
push dword [esp + 0x50]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0x64], 7
mov dword [esp + 0x60], 0
mov word [esp + 0x50], ax
jmp 0x46dbe0
mov bl, 1
mov byte [esp + 0x350], 8
cmp dword [esp + 0x98], 8
jb 0x46de78
push dword [esp + 0x84]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0x98], 7
mov dword [esp + 0x94], 0
mov word [esp + 0x84], ax
mov byte [esp + 0x350], 7
cmp dword [esp + 0x34], 8
jb 0x46deb3
push dword [esp + 0x20]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], 0
mov word [esp + 0x20], ax
mov byte [esp + 0x350], 6
cmp dword [esp + 0x4c], 8
jb 0x46dee5
push dword [esp + 0x38]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0x4c], 7
mov dword [esp + 0x48], 0
mov word [esp + 0x38], ax
mov byte [esp + 0x350], 4
cmp dword [esp + 0x64], 8
jb 0x46df17
push dword [esp + 0x50]
call fcn.0049c766
add esp, 4
xor eax, eax
jmp 0x46dfe2
mov byte [esp + 0x350], 8
cmp dword [esp + 0x98], 8
jb 0x46df3f
push dword [esp + 0x84]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0x98], 7
mov dword [esp + 0x94], 0
mov word [esp + 0x84], ax
mov byte [esp + 0x350], 7
cmp dword [esp + 0x34], 8
jb 0x46df7a
push dword [esp + 0x20]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], 0
mov word [esp + 0x20], ax
mov byte [esp + 0x350], 6
cmp dword [esp + 0x4c], 8
jb 0x46dfac
push dword [esp + 0x38]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0x4c], 7
mov dword [esp + 0x48], 0
mov word [esp + 0x38], ax
mov byte [esp + 0x350], 4
cmp dword [esp + 0x64], 8
jb 0x46dfde
push dword [esp + 0x50]
call fcn.0049c766
add esp, 4
xor eax, eax
mov bl, al
mov esi, dword [sym.imp.KERNEL32.dll_FindClose]
mov word [esp + 0x50], ax
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 7
mov byte [esp + 0x350], 3
cmp dword [esp + 0xf0], 8
jb 0x46e01e
push dword [esp + 0xdc]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0xf0], 7
mov dword [esp + 0xec], 0
mov word [esp + 0xdc], ax
mov byte [esp + 0x350], 1
test ebp, ebp
je 0x46e069
mov eax, dword [ebp]
cmp eax, 0xffffffff
je 0x46e060
push eax
call esi
test eax, eax
je 0x46e060
mov dword [ebp], 0xffffffff
push ebp
call fcn.0049c766
add esp, 4
mov dword [esp + 0x80], 0
mov byte [esp + 0x350], 0
cmp dword [esp + 0xb0], 8
jb 0x46e095
push dword [esp + 0x9c]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0xb0], 7
mov dword [esp + 0xac], 0
mov word [esp + 0x9c], ax
mov dword [esp + 0x350], 0xffffffff
cmp dword [esp + 0x7c], 8
jb 0x46e0d3
push dword [esp + 0x68]
call fcn.0049c766
add esp, 4
xor eax, eax
mov dword [esp + 0x7c], 7
mov word [esp + 0x68], ax
mov al, bl
mov dword [esp + 0x78], 0
mov ecx, dword [esp + 0x348]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x330]
xor ecx, esp
call fcn.0049bfa3
add esp, 0x340
ret 8