Function at 0x46db70
Capabilities:
Check if file exists
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4824fd
mov eax, dword fs:[0]
push eax
sub esp, 0x228
mov eax, dword [0x4ad40c]
xor eax, esp
mov dword [esp + 0x224], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ad40c]
xor eax, esp
push eax
lea eax, [esp + 0x23c]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [edi + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x46e1cf
mov ecx, edi
call fcn.0046da30
mov eax, dword [edi + 4]
xor ecx, ecx
xor esi, esi
cmp cx, word [eax + 0x20c]
jne 0x46dbdb
mov esi, 0x40000
xor edx, edx
cmp dx, word [eax + 0x1160]
jne 0x46dbe9
or esi, 2
lea ecx, [esp + 0x15c]
or esi, 0x30015
call fcn.00463850
lea ecx, [esp + 0x1c]
mov dword [esp + 0x244], 0
call fcn.004603e0
push 0x140
lea eax, [esp + 0x20]
push 0
mov ebx, 1
push eax
mov byte [esp + 0x250], bl
call fcn.00441830
mov edx, dword [edi + 4]
add esp, 0xc
push esi
lea ecx, [esp + 0x20]
push ecx
add edx, 0x250
push edx
lea ecx, [esp + 0x168]
mov dword [esp + 0x28], 0x140
call fcn.004667e0
test eax, eax
je 0x46e1a7
mov ebp, 3
cmp dword [esp + 0x2c], ebp
jne 0x46dd3b
mov eax, dword [0x4aed40]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x30]
push ecx
lea edx, [esp + 0x18]
push 0x48fb44
push edx
mov byte [esp + 0x250], 2
call fcn.0046ccf0
mov eax, dword [edi + 4]
mov esi, dword [esp + 0x20]
add eax, 0xd18
add esp, 0xc
mov edx, 0x20
sub esi, eax
lea ecx, [edx + 0x7fffffde]
test ecx, ecx
je 0x46dcc4
movzx ecx, word [esi + eax]
test cx, cx
je 0x46dcc4
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46dca5
jmp 0x46dcc8
test edx, edx
jne 0x46dccb
sub eax, 2
xor edx, edx
mov word [eax], dx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
push eax
push ecx
lea edx, [esp + 0x1c]
push 0x48fb44
push edx
call fcn.0046ccf0
mov eax, dword [edi + 4]
mov esi, dword [esp + 0x24]
add eax, 0x6a0
add esp, 0x10
mov edx, 0x20
sub esi, eax
nop
lea ecx, [edx + 0x7fffffde]
test ecx, ecx
je 0x46dd1f
movzx ecx, word [esi + eax]
test cx, cx
je 0x46dd1f
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46dd00
jmp 0x46dd23
test edx, edx
jne 0x46dd26
sub eax, 2
xor edx, edx
lea ecx, [esp + 0x14]
mov word [eax], dx
mov byte [esp + 0x244], bl
call fcn.0046bf20
cmp dword [esp + 0x6c], ebp
jne 0x46ddbb
mov eax, dword [0x4aed40]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x70]
push ecx
lea edx, [esp + 0x18]
push 0x489d18
push edx
mov byte [esp + 0x250], 3
call fcn.0046ccf0
mov eax, dword [edi + 4]
mov esi, dword [esp + 0x20]
add eax, 0x11a4
add esp, 0xc
mov edx, 0x32
sub esi, eax
lea ecx, [edx + 0x7fffffcc]
test ecx, ecx
je 0x46dd9f
movzx ecx, word [esi + eax]
test cx, cx
je 0x46dd9f
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46dd80
jmp 0x46dda3
test edx, edx
jne 0x46dda6
sub eax, 2
xor edx, edx
lea ecx, [esp + 0x14]
mov word [eax], dx
mov byte [esp + 0x244], bl
call fcn.0046bf20
cmp dword [esp + 0x78], ebp
jne 0x46dfd4
mov eax, dword [0x4aed40]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x90]
movzx ecx, ax
push ecx
shr eax, 0x10
push eax
mov eax, dword [esp + 0x94]
movzx edx, ax
push edx
shr eax, 0x10
push eax
lea eax, [esp + 0x28]
push str._d._d._d._d
push eax
mov byte [esp + 0x25c], 4
call fcn.0046ccf0
mov ecx, dword [0x4aed40]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0xa8]
movzx edx, ax
push edx
shr eax, 0x10
push eax
mov eax, dword [esp + 0xac]
movzx ecx, ax
push ecx
shr eax, 0x10
push eax
lea edx, [esp + 0x3c]
push str._d._d._d._d
push edx
mov byte [esp + 0x274], 5
call fcn.0046ccf0
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x44]
add eax, 0x1060
add esp, 0x30
mov esi, 0x80
sub edx, eax
jmp 0x46de60
lea ecx, [esi + 0x7fffff7e]
test ecx, ecx
je 0x46de7f
movzx ecx, word [edx + eax]
test cx, cx
je 0x46de7f
mov word [eax], cx
add eax, 2
sub esi, ebx
jne 0x46de60
jmp 0x46de83
test esi, esi
jne 0x46de86
sub eax, 2
mov esi, dword [esp + 0x18]
xor edx, edx
mov word [eax], dx
mov eax, dword [edi + 4]
add eax, 0xf60
mov edx, 0x80
sub esi, eax
mov edi, edi
lea ecx, [edx + 0x7fffff7e]
test ecx, ecx
je 0x46debf
movzx ecx, word [esi + eax]
test cx, cx
je 0x46debf
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46dea0
jmp 0x46dec3
test edx, edx
jne 0x46dec6
sub eax, 2
xor edx, edx
mov word [eax], dx
mov esi, dword [esp + 0xb4]
test esi, esi
jne 0x46dedb
mov esi, 0x4851c0
mov eax, dword [edi + 4]
add eax, 0xb10
mov edx, 0x104
sub esi, eax
lea ebx, [ebx]
lea ecx, [edx + 0x7ffffefa]
test ecx, ecx
je 0x46df0f
movzx ecx, word [esi + eax]
test cx, cx
je 0x46df0f
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46def0
jmp 0x46df13
test edx, edx
jne 0x46df16
sub eax, 2
xor edx, edx
mov word [eax], dx
mov esi, dword [esp + 0xb8]
test esi, esi
jne 0x46df2b
mov esi, 0x4851c0
mov eax, dword [edi + 4]
add eax, 0xd58
mov edx, 0x104
sub esi, eax
lea ebx, [ebx]
lea ecx, [edx + 0x7ffffefa]
test ecx, ecx
je 0x46df5f
movzx ecx, word [esi + eax]
test cx, cx
je 0x46df5f
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46df40
jmp 0x46df63
test edx, edx
jne 0x46df66
sub eax, 2
xor edx, edx
mov word [eax], dx
mov esi, dword [esp + 0xd4]
test esi, esi
jne 0x46df7b
mov esi, 0x4851c0
mov eax, dword [edi + 4]
add eax, 0x700
mov edx, 0x104
sub esi, eax
lea ebx, [ebx]
lea ecx, [edx + 0x7ffffefa]
test ecx, ecx
je 0x46dfaf
movzx ecx, word [esi + eax]
test cx, cx
je 0x46dfaf
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46df90
jmp 0x46dfb3
test edx, edx
jne 0x46dfb6
sub eax, 2
xor edx, edx
lea ecx, [esp + 0x14]
mov word [eax], dx
call fcn.0046bf20
lea ecx, [esp + 0x18]
mov byte [esp + 0x244], bl
call fcn.0046bf20
cmp dword [esp + 0xf0], ebp
jne 0x46e031
cmp dword [esp + 0xf4], 0
je 0x46e031
mov esi, dword [esp + 0x10c]
test esi, esi
jne 0x46dff7
mov esi, 0x4851c0
mov eax, dword [edi + 4]
add eax, 0x908
mov edx, 0x104
sub esi, eax
lea ecx, [edx + 0x7ffffefa]
test ecx, ecx
je 0x46e025
movzx ecx, word [esi + eax]
test cx, cx
je 0x46e025
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46e006
jmp 0x46e029
test edx, edx
jne 0x46e02c
sub eax, 2
xor edx, edx
mov word [eax], dx
cmp dword [esp + 0xe8], ebp
jne 0x46e0bb
mov eax, dword [0x4aed40]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0xec]
push ecx
lea edx, [esp + 0x1c]
push 0x48fb44
push edx
mov byte [esp + 0x250], 6
call fcn.0046ccf0
mov eax, dword [edi + 4]
mov esi, dword [esp + 0x24]
add eax, 0x6e0
add esp, 0xc
mov edx, 0x10
sub esi, eax
lea esp, [esp]
lea ecx, [edx + 0x7fffffee]
test ecx, ecx
je 0x46e09f
movzx ecx, word [esi + eax]
test cx, cx
je 0x46e09f
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46e080
jmp 0x46e0a3
test edx, edx
jne 0x46e0a6
sub eax, 2
xor edx, edx
lea ecx, [esp + 0x18]
mov word [eax], dx
mov byte [esp + 0x244], bl
call fcn.0046bf20
cmp dword [esp + 0x44], ebp
jne 0x46e11b
lea eax, [esp + 0x1f4]
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.0046e230
mov eax, dword [edi + 4]
add eax, 0x1160
lea esi, [esp + 0x1fc]
add esp, 8
mov edx, 0x22
sub esi, eax
lea esp, [esp]
lea ecx, [edx + 0x7fffffdc]
test ecx, ecx
je 0x46e10f
movzx ecx, word [esi + eax]
test cx, cx
je 0x46e10f
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46e0f0
jmp 0x46e113
test edx, edx
jne 0x46e116
sub eax, 2
xor edx, edx
mov word [eax], dx
cmp dword [esp + 0x58], ebp
jne 0x46e17b
lea eax, [esp + 0x1f4]
push eax
lea ecx, [esp + 0x60]
push ecx
call fcn.0046e230
mov eax, dword [edi + 4]
add eax, 0x20c
lea esi, [esp + 0x1fc]
add esp, 8
mov edx, 0x22
sub esi, eax
lea esp, [esp]
lea ecx, [edx + 0x7fffffdc]
test ecx, ecx
je 0x46e16f
movzx ecx, word [esi + eax]
test cx, cx
je 0x46e16f
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46e150
jmp 0x46e173
test edx, edx
jne 0x46e176
sub eax, 2
xor edx, edx
mov word [eax], dx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x244], 0
call fcn.00460470
lea ecx, [esp + 0x15c]
mov dword [esp + 0x244], 0xffffffff
call fcn.00464520
mov eax, ebx
jmp 0x46e1d1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x244], 0
call fcn.00460470
lea ecx, [esp + 0x15c]
mov dword [esp + 0x244], 0xffffffff
call fcn.00464520
xor eax, eax
mov ecx, dword [esp + 0x23c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x224]
xor ecx, esp
call fcn.004420f4
add esp, 0x234
ret