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

Disassembly:
push 0xffffffffffffffff
push 0x48098d
mov eax, dword fs:[0]
push eax
sub esp, 0x228
mov eax, dword [0x4aa3ec]
xor eax, esp
mov dword [esp + 0x224], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4aa3ec]
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 0x46c76f
mov ecx, edi
call fcn.0046bfd0
mov eax, dword [edi + 4]
xor ecx, ecx
xor esi, esi
cmp cx, word [eax + 0x20c]
jne 0x46c17b
mov esi, 0x40000
xor edx, edx
cmp dx, word [eax + 0x1160]
jne 0x46c189
or esi, 2
lea ecx, [esp + 0x15c]
or esi, 0x30015
call fcn.00461e60
lea ecx, [esp + 0x1c]
mov dword [esp + 0x244], 0
call fcn.0045ec30
push 0x140
lea eax, [esp + 0x20]
push 0
mov ebx, 1
push eax
mov byte [esp + 0x250], bl
call fcn.00440110
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.00464df0
test eax, eax
je 0x46c747
mov ebp, 3
cmp dword [esp + 0x2c], ebp
jne 0x46c2db
mov eax, dword [0x4abd20]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x30]
push ecx
lea edx, [esp + 0x18]
push 0x48d9bc
push edx
mov byte [esp + 0x250], 2
call fcn.0046b280
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 0x46c264
movzx ecx, word [esi + eax]
test cx, cx
je 0x46c264
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46c245
jmp 0x46c268
test edx, edx
jne 0x46c26b
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 0x48d9bc
push edx
call fcn.0046b280
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 0x46c2bf
movzx ecx, word [esi + eax]
test cx, cx
je 0x46c2bf
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46c2a0
jmp 0x46c2c3
test edx, edx
jne 0x46c2c6
sub eax, 2
xor edx, edx
lea ecx, [esp + 0x14]
mov word [eax], dx
mov byte [esp + 0x244], bl
call fcn.0046a4b0
cmp dword [esp + 0x6c], ebp
jne 0x46c35b
mov eax, dword [0x4abd20]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x70]
push ecx
lea edx, [esp + 0x18]
push 0x487c10
push edx
mov byte [esp + 0x250], 3
call fcn.0046b280
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 0x46c33f
movzx ecx, word [esi + eax]
test cx, cx
je 0x46c33f
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46c320
jmp 0x46c343
test edx, edx
jne 0x46c346
sub eax, 2
xor edx, edx
lea ecx, [esp + 0x14]
mov word [eax], dx
mov byte [esp + 0x244], bl
call fcn.0046a4b0
cmp dword [esp + 0x78], ebp
jne 0x46c574
mov eax, dword [0x4abd20]
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.0046b280
mov ecx, dword [0x4abd20]
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.0046b280
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x44]
add eax, 0x1060
add esp, 0x30
mov esi, 0x80
sub edx, eax
jmp 0x46c400
lea ecx, [esi + 0x7fffff7e]
test ecx, ecx
je 0x46c41f
movzx ecx, word [edx + eax]
test cx, cx
je 0x46c41f
mov word [eax], cx
add eax, 2
sub esi, ebx
jne 0x46c400
jmp 0x46c423
test esi, esi
jne 0x46c426
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 0x46c45f
movzx ecx, word [esi + eax]
test cx, cx
je 0x46c45f
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46c440
jmp 0x46c463
test edx, edx
jne 0x46c466
sub eax, 2
xor edx, edx
mov word [eax], dx
mov esi, dword [esp + 0xb4]
test esi, esi
jne 0x46c47b
mov esi, 0x4831b0
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 0x46c4af
movzx ecx, word [esi + eax]
test cx, cx
je 0x46c4af
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46c490
jmp 0x46c4b3
test edx, edx
jne 0x46c4b6
sub eax, 2
xor edx, edx
mov word [eax], dx
mov esi, dword [esp + 0xb8]
test esi, esi
jne 0x46c4cb
mov esi, 0x4831b0
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 0x46c4ff
movzx ecx, word [esi + eax]
test cx, cx
je 0x46c4ff
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46c4e0
jmp 0x46c503
test edx, edx
jne 0x46c506
sub eax, 2
xor edx, edx
mov word [eax], dx
mov esi, dword [esp + 0xd4]
test esi, esi
jne 0x46c51b
mov esi, 0x4831b0
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 0x46c54f
movzx ecx, word [esi + eax]
test cx, cx
je 0x46c54f
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46c530
jmp 0x46c553
test edx, edx
jne 0x46c556
sub eax, 2
xor edx, edx
lea ecx, [esp + 0x14]
mov word [eax], dx
call fcn.0046a4b0
lea ecx, [esp + 0x18]
mov byte [esp + 0x244], bl
call fcn.0046a4b0
cmp dword [esp + 0xf0], ebp
jne 0x46c5d1
cmp dword [esp + 0xf4], 0
je 0x46c5d1
mov esi, dword [esp + 0x10c]
test esi, esi
jne 0x46c597
mov esi, 0x4831b0
mov eax, dword [edi + 4]
add eax, 0x908
mov edx, 0x104
sub esi, eax
lea ecx, [edx + 0x7ffffefa]
test ecx, ecx
je 0x46c5c5
movzx ecx, word [esi + eax]
test cx, cx
je 0x46c5c5
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46c5a6
jmp 0x46c5c9
test edx, edx
jne 0x46c5cc
sub eax, 2
xor edx, edx
mov word [eax], dx
cmp dword [esp + 0xe8], ebp
jne 0x46c65b
mov eax, dword [0x4abd20]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0xec]
push ecx
lea edx, [esp + 0x1c]
push 0x48d9bc
push edx
mov byte [esp + 0x250], 6
call fcn.0046b280
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 0x46c63f
movzx ecx, word [esi + eax]
test cx, cx
je 0x46c63f
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46c620
jmp 0x46c643
test edx, edx
jne 0x46c646
sub eax, 2
xor edx, edx
lea ecx, [esp + 0x18]
mov word [eax], dx
mov byte [esp + 0x244], bl
call fcn.0046a4b0
cmp dword [esp + 0x44], ebp
jne 0x46c6bb
lea eax, [esp + 0x1f4]
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.0046c7d0
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 0x46c6af
movzx ecx, word [esi + eax]
test cx, cx
je 0x46c6af
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46c690
jmp 0x46c6b3
test edx, edx
jne 0x46c6b6
sub eax, 2
xor edx, edx
mov word [eax], dx
cmp dword [esp + 0x58], ebp
jne 0x46c71b
lea eax, [esp + 0x1f4]
push eax
lea ecx, [esp + 0x60]
push ecx
call fcn.0046c7d0
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 0x46c70f
movzx ecx, word [esi + eax]
test cx, cx
je 0x46c70f
mov word [eax], cx
add eax, 2
sub edx, ebx
jne 0x46c6f0
jmp 0x46c713
test edx, edx
jne 0x46c716
sub eax, 2
xor edx, edx
mov word [eax], dx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x244], 0
call fcn.0045ecc0
lea ecx, [esp + 0x15c]
mov dword [esp + 0x244], 0xffffffff
call fcn.00462b30
mov eax, ebx
jmp 0x46c771
lea ecx, [esp + 0x1c]
mov byte [esp + 0x244], 0
call fcn.0045ecc0
lea ecx, [esp + 0x15c]
mov dword [esp + 0x244], 0xffffffff
call fcn.00462b30
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.004409d4
add esp, 0x234
ret