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

Disassembly:
push 0xffffffffffffffff
push 0x48220d
mov eax, dword fs:[0]
push eax
sub esp, 0x228
mov eax, dword [0x4ac40c]
xor eax, esp
mov dword [esp + 0x224], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ac40c]
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 0x46de5f
mov ecx, edi
call fcn.0046d6c0
mov eax, dword [edi + 4]
xor ecx, ecx
xor esi, esi
cmp cx, word [eax + 0x20c]
jne 0x46d86b
mov esi, 0x40000
xor edx, edx
cmp dx, word [eax + 0x1160]
jne 0x46d879
or esi, 2
lea ecx, [esp + 0x15c]
or esi, 0x30015
call fcn.00463560
lea ecx, [esp + 0x1c]
mov dword [esp + 0x244], 0
call fcn.00460340
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.004664f0
test eax, eax
je 0x46de37
mov ebp, 3
cmp dword [esp + 0x2c], ebp
jne 0x46d9cb
mov eax, dword [0x4add40]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x30]
push ecx
lea edx, [esp + 0x18]
push 0x48eb44
push edx
mov byte [esp + 0x250], 2
call fcn.0046c980
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 0x46d954
movzx ecx, word [esi + eax]
test cx, cx
je 0x46d954
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46d935
jmp 0x46d958
test edx, edx
jne 0x46d95b
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 0x48eb44
push edx
call fcn.0046c980
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 0x46d9af
movzx ecx, word [esi + eax]
test cx, cx
je 0x46d9af
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46d990
jmp 0x46d9b3
test edx, edx
jne 0x46d9b6
sub eax, 2
xor edx, edx
lea ecx, [esp + 0x14]
mov word [eax], dx
mov byte [esp + 0x244], bl
call fcn.0046bbb0
cmp dword [esp + 0x6c], ebp
jne 0x46da4b
mov eax, dword [0x4add40]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x70]
push ecx
lea edx, [esp + 0x18]
push 0x488d00
push edx
mov byte [esp + 0x250], 3
call fcn.0046c980
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 0x46da2f
movzx ecx, word [esi + eax]
test cx, cx
je 0x46da2f
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46da10
jmp 0x46da33
test edx, edx
jne 0x46da36
sub eax, 2
xor edx, edx
lea ecx, [esp + 0x14]
mov word [eax], dx
mov byte [esp + 0x244], bl
call fcn.0046bbb0
cmp dword [esp + 0x78], ebp
jne 0x46dc64
mov eax, dword [0x4add40]
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.0046c980
mov ecx, dword [0x4add40]
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.0046c980
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x44]
add eax, 0x1060
add esp, 0x30
mov esi, 0x80
sub edx, eax
jmp 0x46daf0
lea ecx, [esi + 0x7fffff7e]
test ecx, ecx
je 0x46db0f
movzx ecx, word [edx + eax]
test cx, cx
je 0x46db0f
mov word [eax], cx
add eax, 2
sub esi, ebx
jne 0x46daf0
jmp 0x46db13
test esi, esi
jne 0x46db16
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 0x46db4f
movzx ecx, word [esi + eax]
test cx, cx
je 0x46db4f
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46db30
jmp 0x46db53
test edx, edx
jne 0x46db56
sub eax, 2
xor edx, edx
mov word [eax], dx
mov esi, dword [esp + 0xb4]
test esi, esi
jne 0x46db6b
mov esi, 0x4841c0
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 0x46db9f
movzx ecx, word [esi + eax]
test cx, cx
je 0x46db9f
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46db80
jmp 0x46dba3
test edx, edx
jne 0x46dba6
sub eax, 2
xor edx, edx
mov word [eax], dx
mov esi, dword [esp + 0xb8]
test esi, esi
jne 0x46dbbb
mov esi, 0x4841c0
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 0x46dbef
movzx ecx, word [esi + eax]
test cx, cx
je 0x46dbef
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46dbd0
jmp 0x46dbf3
test edx, edx
jne 0x46dbf6
sub eax, 2
xor edx, edx
mov word [eax], dx
mov esi, dword [esp + 0xd4]
test esi, esi
jne 0x46dc0b
mov esi, 0x4841c0
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 0x46dc3f
movzx ecx, word [esi + eax]
test cx, cx
je 0x46dc3f
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46dc20
jmp 0x46dc43
test edx, edx
jne 0x46dc46
sub eax, 2
xor edx, edx
lea ecx, [esp + 0x14]
mov word [eax], dx
call fcn.0046bbb0
lea ecx, [esp + 0x18]
mov byte [esp + 0x244], bl
call fcn.0046bbb0
cmp dword [esp + 0xf0], ebp
jne 0x46dcc1
cmp dword [esp + 0xf4], 0
je 0x46dcc1
mov esi, dword [esp + 0x10c]
test esi, esi
jne 0x46dc87
mov esi, 0x4841c0
mov eax, dword [edi + 4]
add eax, 0x908
mov edx, 0x104
sub esi, eax
lea ecx, [edx + 0x7ffffefa]
test ecx, ecx
je 0x46dcb5
movzx ecx, word [esi + eax]
test cx, cx
je 0x46dcb5
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46dc96
jmp 0x46dcb9
test edx, edx
jne 0x46dcbc
sub eax, 2
xor edx, edx
mov word [eax], dx
cmp dword [esp + 0xe8], ebp
jne 0x46dd4b
mov eax, dword [0x4add40]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0xec]
push ecx
lea edx, [esp + 0x1c]
push 0x48eb44
push edx
mov byte [esp + 0x250], 6
call fcn.0046c980
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 0x46dd2f
movzx ecx, word [esi + eax]
test cx, cx
je 0x46dd2f
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46dd10
jmp 0x46dd33
test edx, edx
jne 0x46dd36
sub eax, 2
xor edx, edx
lea ecx, [esp + 0x18]
mov word [eax], dx
mov byte [esp + 0x244], bl
call fcn.0046bbb0
cmp dword [esp + 0x44], ebp
jne 0x46ddab
lea eax, [esp + 0x1f4]
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.0046dec0
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 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
mov word [eax], dx
cmp dword [esp + 0x58], ebp
jne 0x46de0b
lea eax, [esp + 0x1f4]
push eax
lea ecx, [esp + 0x60]
push ecx
call fcn.0046dec0
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 0x46ddff
movzx ecx, word [esi + eax]
test cx, cx
je 0x46ddff
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46dde0
jmp 0x46de03
test edx, edx
jne 0x46de06
sub eax, 2
xor edx, edx
mov word [eax], dx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x244], 0
call fcn.004603d0
lea ecx, [esp + 0x15c]
mov dword [esp + 0x244], 0xffffffff
call fcn.00464230
mov eax, ebx
jmp 0x46de61
lea ecx, [esp + 0x1c]
mov byte [esp + 0x244], 0
call fcn.004603d0
lea ecx, [esp + 0x15c]
mov dword [esp + 0x244], 0xffffffff
call fcn.00464230
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