Function at 0x4b42e5
Capabilities:
Get file size
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2770
call fcn.0059b4a0
mov eax, dword [0x6d35ac]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov dword [ebp - 0x274c], eax
mov esi, ecx
mov eax, dword [ebp + 0x18]
push edi
mov dword [ebp - 0x2768], edx
mov dword [ebp - 0x2748], ebx
mov dword [ebp - 0x2750], eax
call fcn.004b408d
test al, al
je 0x4b5af0
xor eax, eax
test ebx, ebx
push 0x108
setne al
xor ebx, ebx
mov dword [ebp - 0x2740], eax
lea eax, [ebp - 0x23f8]
push ebx
push eax
mov dword [ebp - 0x2730], ebx
mov dword [ebp - 0x2758], ebx
mov dword [ebp - 0x275c], ebx
mov dword [ebp - 0x2764], ebx
mov dword [ebp - 0x2754], ebx
mov dword [ebp - 0x2760], ebx
call fcn.005b24a0
push 0x2cc
lea eax, [ebp - 0x272c]
push ebx
push eax
call fcn.005b24a0
push 0x2000
lea eax, [ebp - 0x22f0]
push ebx
push eax
call fcn.005b24a0
push 0x208
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.005b24a0
add esp, 0x30
test esi, esi
je 0x4b5af0
push ebx
push 0x80
push 3
push ebx
push ebx
push accept
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
mov dword [ebp - 0x276c], edi
cmp edi, 0xffffffff
je 0x4b5af0
push ebx
push edi
mov dword [0x6f0e3c], edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
test eax, eax
je 0x4b5ae9
push ebx
push ebx
push ebx
push 2
push ebx
push edi
mov dword [0x6ded00], eax
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov dword [ebp - 0x2770], eax
test eax, eax
je 0x4b5ae9
push ebx
push ebx
push ebx
push 4
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov esi, eax
mov dword [ebp - 0x2734], esi
test esi, esi
je 0x4b5add
lea eax, [ebp - 0x2754]
mov dword [0x6ded04], esi
push eax
lea eax, [ebp - 0x275c]
push eax
lea eax, [ebp - 0x2758]
push eax
push 6
push esi
call dword [0x6decdc]
test eax, eax
je 0x4b5ad0
lea eax, [ebp - 0x2754]
push eax
lea eax, [ebp - 0x2730]
push eax
lea eax, [ebp - 0x2758]
push eax
push 4
push esi
call dword [0x6decdc]
test eax, eax
je 0x4b5ad0
lea eax, [ebp - 0x2754]
push eax
lea eax, [ebp - 0x2760]
push eax
lea eax, [ebp - 0x2758]
push eax
push 3
push esi
call dword [0x6decdc]
test eax, eax
je 0x4b5ad0
mov edx, dword [ebp - 0x2760]
mov ecx, ebx
cmp dword [edx], ecx
jbe 0x4b44d8
mov eax, dword [ebp - 0x275c]
mov edi, dword [eax]
lea eax, [edx + 4]
cmp edi, dword [eax]
je 0x4b44cb
inc ecx
add eax, 0x30
cmp ecx, dword [edx]
jb 0x4b44bd
jmp 0x4b44d8
imul eax, ecx, 0x30
add eax, 4
add eax, edx
mov dword [0x6decfc], eax
lea eax, [ebp - 0x2754]
push eax
lea eax, [ebp - 0x2764]
push eax
lea eax, [ebp - 0x2758]
push eax
push 5
push esi
call dword [0x6decdc]
test eax, eax
je 0x4b5ad0
mov eax, dword [ebp - 0x2764]
lea ecx, [ebp - 0x272c]
mov dword [0x6decf0], eax
mov edx, 0x2cc
mov eax, dword [ebp - 0x275c]
push dword [eax + 0xa0]
mov eax, dword [eax + 0xa4]
add eax, esi
push eax
call fcn.00463785
mov edi, ebx
pop ecx
pop ecx
cmp dword [ebp - 0x2748], ebx
jne 0x4b45ec
mov edx, dword [ebp - 0x2730]
mov esi, ebx
cmp dword [edx], ebx
jbe 0x4b4592
lea ecx, [edx + 4]
mov eax, dword [ecx]
cmp ebx, dword [ecx + 4]
jb 0x4b4588
ja 0x4b455e
cmp dword [ebp - 0x2674], eax
jb 0x4b4588
mov eax, dword [ecx + 8]
mov edi, dword [ecx]
mov dword [ebp - 0x2744], eax
xor eax, eax
add dword [ebp - 0x2744], edi
adc eax, dword [ecx + 4]
cmp ebx, eax
jb 0x4b4590
ja 0x4b4588
mov eax, dword [ebp - 0x2674]
cmp eax, dword [ebp - 0x2744]
jb 0x4b4590
inc esi
add ecx, 0x6c
cmp esi, dword [edx]
jb 0x4b454d
mov edi, ebx
cmp esi, dword [edx]
je 0x4b46d7
push 0x208
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.005b24a0
mov eax, dword [ebp - 0x2730]
imul ecx, esi, 0x6c
mov eax, dword [ecx + eax + 0x18]
mov ecx, dword [ebp - 0x2734]
add ecx, 4
add eax, ecx
push eax
lea eax, [ebp - 0x270]
push 0x104
push eax
call fcn.005c4440
mov eax, dword [ebp - 0x2730]
add esp, 0x18
cmp esi, dword [eax]
je 0x4b46d7
jmp 0x4b46c1
lea eax, [ebp - 0x2738]
mov dword [ebp - 0x273c], ebx
push eax
push 4
lea eax, [ebp - 0x273c]
push eax
push ebx
push dword [ebp - 0x2668]
push esi
call fcn.004b41d0
mov edx, dword [ebp - 0x2730]
mov ecx, ebx
mov eax, dword [ebp - 0x273c]
cmp dword [edx], ecx
jbe 0x4b4669
mov esi, dword [ebp - 0x2730]
add edx, 4
cmp ebx, dword [edx + 4]
jb 0x4b4655
ja 0x4b4635
cmp eax, dword [edx]
jb 0x4b4655
mov esi, dword [edx + 8]
xor eax, eax
add esi, dword [edx]
adc eax, dword [edx + 4]
cmp ebx, eax
jb 0x4b465d
mov eax, dword [ebp - 0x273c]
ja 0x4b464f
cmp eax, esi
jb 0x4b465d
mov esi, dword [ebp - 0x2730]
inc ecx
add edx, 0x6c
cmp ecx, dword [esi]
jb 0x4b462a
mov eax, dword [ebp - 0x273c]
mov edx, dword [ebp - 0x2730]
cmp ecx, dword [edx]
je 0x4b46d7
imul esi, ecx, 0x6c
sub eax, dword [esi + edx + 4]
push eax
push str.0x_08x
push dword [ebp - 0x274c]
call fcn.00436f8f
push 0x208
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.005b24a0
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x2734]
add ecx, 4
mov eax, dword [esi + eax + 0x18]
add eax, ecx
push eax
lea eax, [ebp - 0x270]
push 0x104
push eax
call fcn.005c4440
add esp, 0x24
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004b41b6
mov edi, eax
cmp dword [ebp + 0xc], ebx
je 0x4b4a10
mov eax, dword [ebp - 0x2674]
mov dword [ebp - 0x23f8], eax
mov eax, dword [ebp - 0x2668]
mov dword [ebp - 0x23c8], eax
mov eax, dword [ebp - 0x2678]
push 3
mov dword [ebp - 0x23d8], eax
pop eax
push 0x2000
mov dword [ebp - 0x23cc], eax
mov dword [ebp - 0x23bc], eax
mov dword [ebp - 0x23ec], eax
lea eax, [ebp - 0x22f0]
push ebx
push eax
mov dword [ebp - 0x23f4], ebx
mov dword [ebp - 0x23c4], ebx
mov dword [ebp - 0x23d4], ebx
call fcn.005b24a0
add esp, 0xc
mov dword [ebp - 0x2744], ebx
push ebx
push ebx
push ebx
push fcn.004b41d0
lea eax, [ebp - 0x272c]
push eax
lea eax, [ebp - 0x23f8]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
push ebx
push 0x14c
call dword [0x6decf4]
test eax, eax
je 0x4b49e6
mov edx, dword [ebp - 0x2730]
mov ecx, ebx
mov dword [ebp - 0x2738], ebx
mov edi, dword [edx]
test edi, edi
je 0x4b47c5
add edx, 4
cmp ebx, dword [edx + 4]
jb 0x4b47b7
ja 0x4b479f
mov eax, dword [ebp - 0x23f8]
cmp eax, dword [edx]
jb 0x4b47b7
mov esi, dword [edx + 8]
xor eax, eax
add esi, dword [edx]
adc eax, dword [edx + 4]
cmp ebx, eax
jb 0x4b47bf
ja 0x4b47b7
cmp dword [ebp - 0x23f8], esi
jb 0x4b47bf
inc ecx
add edx, 0x6c
cmp ecx, edi
jb 0x4b478e
mov dword [ebp - 0x2738], ecx
cmp ecx, edi
je 0x4b49c2
imul esi, ecx, 0x6c
mov dword [ebp - 0x274c], esi
cmp word [ebp - 0x22f0], bx
jne 0x4b488d
push 0x208
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.005b24a0
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x2734]
add ecx, 4
mov eax, dword [esi + eax + 0x18]
add eax, ecx
push eax
lea eax, [ebp - 0x270]
push 0x104
push eax
call fcn.005c4440
add esp, 0x18
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004b41b6
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x68]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x23f8]
sub ecx, dword [esi + eax + 4]
lea eax, [ebp - 0x68]
push ecx
push str._0x_08x
push 0x14
push eax
call fcn.0040b616
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
add esp, 0x28
jmp 0x4b49c2
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
push 0x646898
mov edi, 0x1000
lea eax, [ebp - 0x22f0]
push edi
push eax
call fcn.005c5cae
push 0x208
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.005b24a0
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x2734]
add ecx, 4
mov eax, dword [esi + eax + 0x18]
add eax, ecx
push eax
lea eax, [ebp - 0x270]
push 0x104
push eax
call fcn.005c4440
add esp, 0x24
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004b41b6
push eax
lea eax, [ebp - 0x22f0]
push edi
push eax
call fcn.005c5cae
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x23f8]
sub ecx, dword [esi + eax + 4]
lea eax, [ebp - 0x2c]
push ecx
push str._0x_08x
push 0x14
push eax
call fcn.0040b616
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push edi
push eax
call fcn.005c5cae
mov ecx, dword [ebp - 0x2730]
add esp, 0x28
mov eax, dword [ebp - 0x2738]
cmp eax, dword [ecx]
je 0x4b49c2
cmp dword [ebp - 0x2740], ebx
je 0x4b49c2
mov edi, dword [ebp - 0x274c]
mov eax, ecx
movzx esi, word [esi + eax + 0x26]
movzx edx, word [edi + eax + 0x24]
movzx ecx, word [edi + eax + 0x2a]
movzx eax, word [edi + eax + 0x28]
push eax
push ecx
push edx
push esi
push str._d._d._d._d
push dword [ebp - 0x2750]
call fcn.00436f8f
mov eax, dword [ebp - 0x2730]
add esp, 0x18
mov ecx, dword [ebp - 0x2734]
add ecx, 4
mov eax, dword [edi + eax + 0x18]
add eax, ecx
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
push 0x104
push dword [ebp - 0x2748]
call fcn.005c4440
add esp, 0xc
mov dword [ebp - 0x2740], ebx
mov eax, dword [ebp - 0x23e8]
or eax, dword [ebp - 0x23e4]
je 0x4b49e6
mov esi, dword [ebp - 0x2744]
inc esi
mov dword [ebp - 0x2744], esi
cmp esi, 5
jl 0x4b4746
xor eax, eax
lea edi, [ebp - 0x40]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x22f0]
push eax
call fcn.005c2f90
inc eax
pop ecx
cmp eax, 0x3fffffff
jle 0x4b59c5
mov esi, ebx
jmp 0x4b59e1
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpIW]
push 0x637428
push edi
call esi
test eax, eax
je 0x4b5074
push str.user32
push edi
call esi
test eax, eax
je 0x4b5074
push str.ntdll
push edi
call esi
test eax, eax
je 0x4b5074
push str.kernelbase
push edi
call esi
test eax, eax
je 0x4b5074
mov eax, dword [ebp - 0x2674]
mov dword [ebp - 0x23f8], eax
mov eax, dword [ebp - 0x2668]
mov dword [ebp - 0x23c8], eax
mov eax, dword [ebp - 0x2678]
push 3
mov dword [ebp - 0x23d8], eax
pop eax
push 0x2000
mov dword [ebp - 0x23cc], eax
mov dword [ebp - 0x23bc], eax
mov dword [ebp - 0x23ec], eax
lea eax, [ebp - 0x22f0]
push ebx
push eax
mov dword [ebp - 0x23f4], ebx
mov dword [ebp - 0x23c4], ebx
mov dword [ebp - 0x23d4], ebx
call fcn.005b24a0
mov edi, dword [ebp - 0x2730]
add esp, 0xc
mov esi, ebx
cmp dword [edi], ebx
jbe 0x4b4af6
lea ecx, [edi + 4]
cmp ebx, dword [ecx + 4]
jb 0x4b4aee
ja 0x4b4ad6
mov eax, dword [ebp - 0x2674]
cmp eax, dword [ecx]
jb 0x4b4aee
mov edx, dword [ecx + 8]
xor eax, eax
add edx, dword [ecx]
adc eax, dword [ecx + 4]
cmp ebx, eax
jb 0x4b4af6
ja 0x4b4aee
cmp dword [ebp - 0x2674], edx
jb 0x4b4af6
inc esi
add ecx, 0x6c
cmp esi, dword [edi]
jb 0x4b4ac5
cmp esi, dword [edi]
je 0x4b4c31
push 0x208
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.005b24a0
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x2734]
imul esi, esi, 0x6c
add ecx, 4
mov eax, dword [esi + eax + 0x18]
add eax, ecx
push eax
lea eax, [ebp - 0x270]
push 0x104
push eax
call fcn.005c4440
add esp, 0x18
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004b41b6
push eax
mov edi, 0x1000
lea eax, [ebp - 0x22f0]
push edi
push eax
call fcn.005c5cae
push 0x668bb0
lea eax, [ebp - 0x22f0]
push edi
push eax
call fcn.005c5cae
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x23f8]
sub ecx, dword [esi + eax + 4]
lea eax, [ebp - 0x2c]
push ecx
push str._08x
push 0x14
push eax
call fcn.0040b616
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
mov edi, dword [ebp - 0x2748]
add esp, 0x34
mov eax, dword [ebp - 0x2740]
mov dword [ebp - 0x2740], eax
test edi, edi
je 0x4b4c31
mov ecx, dword [ebp - 0x2730]
movzx eax, word [esi + ecx + 0x28]
push eax
movzx eax, word [esi + ecx + 0x2a]
push eax
movzx eax, word [esi + ecx + 0x24]
push eax
movzx eax, word [esi + ecx + 0x26]
push eax
push str._d._d._d._d
push dword [ebp - 0x2750]
call fcn.00436f8f
mov eax, dword [ebp - 0x2730]
add esp, 0x18
mov ecx, dword [ebp - 0x2734]
add ecx, 4
mov eax, dword [esi + eax + 0x18]
add eax, ecx
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
push 0x104
push edi
call fcn.005c4440
add esp, 0xc
mov dword [ebp - 0x2740], ebx
lea eax, [ebp - 0x274c]
mov dword [ebp - 0x2744], ebx
push eax
push 4
lea eax, [ebp - 0x2744]
push eax
push ebx
push dword [ebp - 0x2668]
push dword [ebp - 0x2734]
call fcn.004b41d0
mov edi, dword [ebp - 0x2730]
mov ecx, ebx
cmp ecx, dword [edi]
jae 0x4b4c9b
lea edx, [edi + 4]
cmp ebx, dword [edx + 4]
jb 0x4b4c91
ja 0x4b4c79
mov eax, dword [ebp - 0x2744]
cmp eax, dword [edx]
jb 0x4b4c91
mov esi, dword [edx + 8]
xor eax, eax
add esi, dword [edx]
adc eax, dword [edx + 4]
cmp ebx, eax
jb 0x4b4c99
ja 0x4b4c91
cmp dword [ebp - 0x2744], esi
jb 0x4b4c99
inc ecx
add edx, 0x6c
cmp ecx, dword [edi]
jb 0x4b4c68
cmp ecx, dword [edi]
je 0x4b4e48
push 0x208
imul esi, ecx, 0x6c
lea eax, [ebp - 0x270]
push ebx
push eax
cmp word [ebp - 0x22f0], bx
jne 0x4b4d71
call fcn.005b24a0
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x2734]
add ecx, 4
mov eax, dword [esi + eax + 0x18]
add eax, ecx
push eax
lea eax, [ebp - 0x270]
push 0x104
push eax
call fcn.005c4440
add esp, 0x18
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004b41b6
push eax
mov edi, 0x1000
lea eax, [ebp - 0x22f0]
push edi
push eax
call fcn.005c5cae
push 0x668bb0
lea eax, [ebp - 0x22f0]
push edi
push eax
call fcn.005c5cae
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x2744]
sub ecx, dword [esi + eax + 4]
lea eax, [ebp - 0x2c]
push ecx
push str._08x
push 0x14
push eax
call fcn.0040b616
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
mov edi, dword [ebp - 0x2734]
add esp, 0x34
jmp 0x4b4ddf
call fcn.005b24a0
mov eax, dword [ebp - 0x2730]
mov edi, dword [ebp - 0x2734]
mov eax, dword [esi + eax + 0x18]
add eax, 4
add eax, edi
push eax
lea eax, [ebp - 0x270]
push 0x104
push eax
call fcn.005c4440
push 0x646898
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
add esp, 0x24
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004b41b6
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
add esp, 0xc
cmp dword [ebp - 0x2740], ebx
je 0x4b4e48
mov ecx, dword [ebp - 0x2730]
movzx eax, word [esi + ecx + 0x28]
push eax
movzx eax, word [esi + ecx + 0x2a]
push eax
movzx eax, word [esi + ecx + 0x24]
push eax
movzx eax, word [esi + ecx + 0x26]
push eax
push str._d._d._d._d
push dword [ebp - 0x2750]
call fcn.00436f8f
mov eax, dword [ebp - 0x2730]
mov eax, dword [esi + eax + 0x18]
add eax, 4
add eax, edi
add esp, 0x18
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
push 0x104
push dword [ebp - 0x2748]
call fcn.005c4440
mov dword [ebp - 0x2740], ebx
add esp, 0xc
push ebx
push ebx
push ebx
push fcn.004b41d0
lea eax, [ebp - 0x272c]
push eax
lea eax, [ebp - 0x23f8]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
push ebx
push 0x14c
call dword [0x6decf4]
test eax, eax
je 0x4b49e6
mov eax, dword [ebp - 0x23e8]
or eax, dword [ebp - 0x23e4]
je 0x4b49e6
mov ecx, dword [ebp - 0x2730]
mov esi, ebx
mov edi, dword [ecx]
test edi, edi
je 0x4b4ecd
add ecx, 4
mov eax, dword [ecx]
cmp ebx, dword [ecx + 4]
jb 0x4b4ec5
ja 0x4b4ead
cmp dword [ebp - 0x23e8], eax
jb 0x4b4ec5
mov edx, dword [ecx + 8]
xor eax, eax
add edx, dword [ecx]
adc eax, dword [ecx + 4]
cmp ebx, eax
jb 0x4b4ecd
ja 0x4b4ec5
cmp dword [ebp - 0x23e8], edx
jb 0x4b4ecd
inc esi
add ecx, 0x6c
cmp esi, edi
jb 0x4b4e9c
cmp esi, edi
je 0x4b4e48
imul edi, esi, 0x6c
lea eax, [ebp - 0x270]
push 0x208
push ebx
push eax
mov dword [ebp - 0x274c], edi
cmp word [ebp - 0x22f0], bx
jne 0x4b4faa
call fcn.005b24a0
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x2734]
add ecx, 4
mov eax, dword [edi + eax + 0x18]
add eax, ecx
push eax
lea eax, [ebp - 0x270]
push 0x104
push eax
call fcn.005c4440
add esp, 0x18
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004b41b6
push eax
mov esi, 0x1000
lea eax, [ebp - 0x22f0]
push esi
push eax
call fcn.005c5cae
push 0x668bb0
lea eax, [ebp - 0x22f0]
push esi
push eax
call fcn.005c5cae
mov edx, dword [ebp - 0x274c]
lea edi, [ebp - 0x2c]
push 0xa
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x23e8]
sub ecx, dword [edx + eax + 4]
lea eax, [ebp - 0x2c]
push ecx
push str._08x
push 0x14
push eax
call fcn.0040b616
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push esi
push eax
call fcn.005c5cae
add esp, 0x34
jmp 0x4b4e48
call fcn.005b24a0
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x2734]
add ecx, 4
mov eax, dword [edi + eax + 0x18]
add eax, ecx
push eax
lea eax, [ebp - 0x270]
push 0x104
push eax
call fcn.005c4440
push 0x646898
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
add esp, 0x24
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004b41b6
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
mov eax, dword [ebp - 0x2730]
add esp, 0xc
cmp esi, dword [eax]
je 0x4b4e48
cmp dword [ebp - 0x2740], ebx
je 0x4b4e48
movzx esi, word [edi + eax + 0x26]
movzx edx, word [edi + eax + 0x24]
movzx ecx, word [edi + eax + 0x2a]
movzx eax, word [edi + eax + 0x28]
push eax
push ecx
push edx
push esi
push str._d._d._d._d
push dword [ebp - 0x2750]
call fcn.00436f8f
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x2734]
add ecx, 4
mov eax, dword [edi + eax + 0x18]
add eax, ecx
jmp 0x4b4e24
mov eax, dword [ebp - 0x2674]
mov dword [ebp - 0x23f8], eax
mov eax, dword [ebp - 0x2668]
mov dword [ebp - 0x23c8], eax
mov eax, dword [ebp - 0x2678]
push 3
mov dword [ebp - 0x23d8], eax
pop eax
push 0x2000
mov dword [ebp - 0x23cc], eax
mov dword [ebp - 0x23bc], eax
mov dword [ebp - 0x23ec], eax
lea eax, [ebp - 0x22f0]
push ebx
push eax
mov dword [ebp - 0x2744], ebx
mov dword [ebp - 0x23f4], ebx
mov dword [ebp - 0x23c4], ebx
mov dword [ebp - 0x23d4], ebx
call fcn.005b24a0
mov ecx, dword [ebp - 0x2730]
add esp, 0xc
mov edx, ebx
mov eax, dword [ecx]
mov dword [ebp - 0x273c], eax
test eax, eax
je 0x4b512a
mov esi, dword [ebp - 0x2674]
add ecx, 4
cmp ebx, dword [ecx + 4]
jb 0x4b511c
ja 0x4b5102
cmp esi, dword [ecx]
jb 0x4b511c
mov edi, dword [ecx + 8]
xor eax, eax
add edi, dword [ecx]
adc eax, dword [ecx + 4]
cmp ebx, eax
mov eax, dword [ebp - 0x273c]
jb 0x4b5124
ja 0x4b511c
cmp esi, edi
jb 0x4b5124
inc edx
add ecx, 0x6c
cmp edx, eax
jb 0x4b50f7
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpIW]
cmp edx, eax
je 0x4b5325
imul edi, edx, 0x6c
lea eax, [ebp - 0x270]
push 0x208
push ebx
push eax
mov dword [ebp - 0x2738], edi
cmp word [ebp - 0x22f0], bx
jne 0x4b51f8
call fcn.005b24a0
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x2734]
add ecx, 4
mov eax, dword [edi + eax + 0x18]
add eax, ecx
push eax
lea eax, [ebp - 0x270]
push 0x104
push eax
call fcn.005c4440
add esp, 0x18
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004b41b6
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
mov edx, dword [ebp - 0x2738]
lea edi, [ebp - 0x2c]
push 0xa
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x23f8]
sub ecx, dword [edx + eax + 4]
lea eax, [ebp - 0x2c]
push ecx
push str._0x_08x
push 0x14
push eax
call fcn.0040b616
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
add esp, 0x28
jmp 0x4b5325
call fcn.005b24a0
mov eax, dword [ebp - 0x2730]
mov eax, dword [edi + eax + 0x18]
mov edi, dword [ebp - 0x2734]
add eax, 4
add eax, edi
push eax
lea eax, [ebp - 0x270]
push 0x104
push eax
call fcn.005c4440
push 0x646898
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
add esp, 0x24
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004b41b6
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
add esp, 0xc
lea eax, [ebp - 0x270]
push str.kernel32.dll
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call esi
test eax, eax
je 0x4b532b
push 0x63d330
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call esi
test eax, eax
je 0x4b532b
push str.kernelbase.dll
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call esi
test eax, eax
je 0x4b532b
push str.ntdll.dll
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call esi
test eax, eax
je 0x4b532b
mov edx, dword [ebp - 0x2738]
lea edi, [ebp - 0x2c]
push 0xa
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x23f8]
sub ecx, dword [edx + eax + 4]
lea eax, [ebp - 0x2c]
push ecx
push str._0x_08x
push 0x14
push eax
call fcn.0040b616
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
add esp, 0x1c
mov dword [ebp - 0x2744], 1
mov edi, dword [ebp - 0x2734]
lea eax, [ebp - 0x2738]
mov dword [ebp - 0x274c], ebx
push eax
push 4
lea eax, [ebp - 0x274c]
push eax
push ebx
push dword [ebp - 0x2668]
push edi
call fcn.004b41d0
mov ecx, dword [ebp - 0x2730]
mov eax, ebx
mov dword [ebp - 0x273c], eax
cmp eax, dword [ecx]
jae 0x4b53ba
mov edi, dword [ebp - 0x274c]
lea edx, [ecx + 4]
mov esi, dword [edx]
cmp ebx, dword [edx + 4]
jb 0x4b539e
ja 0x4b5376
cmp edi, esi
jb 0x4b539e
mov eax, dword [edx + 8]
mov dword [ebp - 0x2738], eax
xor eax, eax
add dword [ebp - 0x2738], esi
adc eax, dword [edx + 4]
cmp ebx, eax
mov eax, dword [ebp - 0x273c]
jb 0x4b53ac
ja 0x4b539e
cmp edi, dword [ebp - 0x2738]
jb 0x4b53ac
inc eax
add edx, 0x6c
mov dword [ebp - 0x273c], eax
cmp eax, dword [ecx]
jb 0x4b5369
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpIW]
mov edi, dword [ebp - 0x2734]
cmp eax, dword [ecx]
je 0x4b56d1
cmp word [ebp - 0x22f0], bx
jne 0x4b54fa
push 0x208
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.005b24a0
imul ecx, dword [ebp - 0x273c], 0x6c
mov eax, dword [ebp - 0x2730]
mov dword [ebp - 0x2738], ecx
mov eax, dword [ecx + eax + 0x18]
add eax, 4
add eax, edi
push eax
lea eax, [ebp - 0x270]
push 0x104
push eax
call fcn.005c4440
add esp, 0x18
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004b41b6
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2730]
mov edi, dword [ebp - 0x2738]
mov ecx, dword [ebp - 0x23f8]
sub ecx, dword [edi + eax + 4]
lea eax, [ebp - 0x2c]
push ecx
push str._0x_08x
push 0x14
push eax
call fcn.0040b616
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
mov edx, dword [ebp - 0x2740]
add esp, 0x28
mov dword [ebp - 0x2740], edx
cmp dword [ebp - 0x2748], ebx
je 0x4b56d1
mov ecx, dword [ebp - 0x2730]
movzx eax, word [edi + ecx + 0x28]
push eax
movzx eax, word [edi + ecx + 0x2a]
push eax
movzx eax, word [edi + ecx + 0x24]
push eax
movzx eax, word [edi + ecx + 0x26]
push eax
push str._d._d._d._d
push dword [ebp - 0x2750]
call fcn.00436f8f
mov eax, dword [ebp - 0x2730]
add esp, 0x18
mov ecx, dword [ebp - 0x2734]
add ecx, 4
mov eax, dword [edi + eax + 0x18]
add eax, ecx
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
push 0x104
push dword [ebp - 0x2748]
call fcn.005c4440
jmp 0x4b56c8
cmp dword [ebp - 0x2744], ebx
jne 0x4b5659
push 0x208
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.005b24a0
imul ecx, dword [ebp - 0x273c], 0x6c
mov eax, dword [ebp - 0x2730]
mov dword [ebp - 0x2738], ecx
mov eax, dword [ecx + eax + 0x18]
add eax, 4
add eax, edi
push eax
lea eax, [ebp - 0x270]
push 0x104
push eax
call fcn.005c4440
push 0x646898
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
add esp, 0x24
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004b41b6
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
add esp, 0xc
lea eax, [ebp - 0x270]
push str.kernel32.dll
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call esi
test eax, eax
je 0x4b564d
push 0x63d330
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call esi
test eax, eax
je 0x4b564d
push str.kernelbase.dll
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call esi
test eax, eax
je 0x4b564d
push str.ntdll.dll
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call esi
test eax, eax
je 0x4b564d
mov edx, dword [ebp - 0x2738]
lea edi, [ebp - 0x2c]
push 0xa
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x23f8]
sub ecx, dword [edx + eax + 4]
lea eax, [ebp - 0x2c]
push ecx
push str._0x_08x
push 0x14
push eax
call fcn.0040b616
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
mov edi, dword [ebp - 0x2734]
add esp, 0x1c
mov dword [ebp - 0x2744], 1
mov eax, dword [ebp - 0x273c]
mov ecx, dword [ebp - 0x2730]
mov edx, dword [ebp - 0x2740]
mov dword [ebp - 0x2740], edx
cmp dword [ebp - 0x2748], ebx
je 0x4b56d1
imul esi, eax, 0x6c
movzx eax, word [esi + ecx + 0x28]
push eax
movzx eax, word [esi + ecx + 0x2a]
push eax
movzx eax, word [esi + ecx + 0x24]
push eax
movzx eax, word [esi + ecx + 0x26]
push eax
push str._d._d._d._d
push dword [ebp - 0x2750]
call fcn.00436f8f
mov eax, dword [ebp - 0x2730]
mov eax, dword [esi + eax + 0x18]
add eax, 4
add eax, edi
add esp, 0x18
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
push 0x104
push dword [ebp - 0x2748]
call fcn.005c4440
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpIW]
add esp, 0xc
mov dword [ebp - 0x2740], ebx
push ebx
push ebx
push ebx
push fcn.004b41d0
lea eax, [ebp - 0x272c]
push eax
lea eax, [ebp - 0x23f8]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
push ebx
push 0x14c
call dword [0x6decf4]
test eax, eax
je 0x4b49e6
mov eax, dword [ebp - 0x23e8]
or eax, dword [ebp - 0x23e4]
je 0x4b49e6
mov edx, dword [ebp - 0x2730]
mov ecx, ebx
mov eax, dword [edx]
mov dword [ebp - 0x2738], eax
test eax, eax
je 0x4b576a
add edx, 4
mov esi, eax
mov eax, dword [edx]
cmp ebx, dword [edx + 4]
jb 0x4b5756
ja 0x4b573e
cmp dword [ebp - 0x23e8], eax
jb 0x4b5756
mov edi, dword [edx + 8]
xor eax, eax
add edi, dword [edx]
adc eax, dword [edx + 4]
cmp ebx, eax
jb 0x4b575e
ja 0x4b5756
cmp dword [ebp - 0x23e8], edi
jb 0x4b575e
inc ecx
add edx, 0x6c
cmp ecx, esi
jb 0x4b572d
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpIW]
mov eax, dword [ebp - 0x2738]
cmp ecx, eax
je 0x4b56d1
imul edi, ecx, 0x6c
lea eax, [ebp - 0x270]
push 0x208
push ebx
push eax
mov dword [ebp - 0x2738], edi
cmp word [ebp - 0x22f0], bx
jne 0x4b5838
call fcn.005b24a0
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x2734]
add ecx, 4
mov eax, dword [edi + eax + 0x18]
add eax, ecx
push eax
lea eax, [ebp - 0x270]
push 0x104
push eax
call fcn.005c4440
add esp, 0x18
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004b41b6
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2730]
mov edi, dword [ebp - 0x2738]
mov ecx, dword [ebp - 0x23e8]
sub ecx, dword [edi + eax + 4]
lea eax, [ebp - 0x2c]
push ecx
push str._0x_08x
push 0x14
push eax
call fcn.0040b616
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
add esp, 0x28
jmp 0x4b5971
call fcn.005b24a0
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x2734]
add ecx, 4
mov eax, dword [edi + eax + 0x18]
add eax, ecx
push eax
lea eax, [ebp - 0x270]
push 0x104
push eax
call fcn.005c4440
push 0x646898
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
add esp, 0x24
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004b41b6
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
add esp, 0xc
cmp dword [ebp - 0x2744], ebx
jne 0x4b5971
push str.kernel32.dll
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call esi
test eax, eax
je 0x4b5971
push 0x63d330
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call esi
test eax, eax
je 0x4b5971
push str.kernelbase.dll
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call esi
test eax, eax
je 0x4b5971
push str.ntdll.dll
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call esi
test eax, eax
je 0x4b5971
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x68]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2730]
mov edi, dword [ebp - 0x2738]
mov ecx, dword [ebp - 0x23e8]
sub ecx, dword [edi + eax + 4]
lea eax, [ebp - 0x68]
push ecx
push str._0x_08x
push 0x14
push eax
call fcn.0040b616
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.005c5cae
add esp, 0x1c
mov dword [ebp - 0x2744], 1
cmp dword [ebp - 0x2740], ebx
je 0x4b56d1
mov eax, dword [ebp - 0x2730]
movzx esi, word [edi + eax + 0x26]
movzx edx, word [edi + eax + 0x24]
movzx ecx, word [edi + eax + 0x2a]
movzx eax, word [edi + eax + 0x28]
push eax
push ecx
push edx
push esi
push str._d._d._d._d
push dword [ebp - 0x2750]
call fcn.00436f8f
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x2734]
add ecx, 4
mov eax, dword [edi + eax + 0x18]
add eax, ecx
jmp 0x4b56a7
lea esi, [eax + eax]
mov eax, esi
call fcn.0059bb40
mov ecx, esp
lea edx, [ebp - 0x22f0]
push 3
push esi
call fcn.00411600
mov esi, eax
push esi
call fcn.005b69b0
inc eax
push eax
push esi
call fcn.005c5c5e
lea ecx, [ebp - 0x2460]
call fcn.00410415
push esi
call fcn.005b69b0
push eax
mov edx, esi
lea ecx, [ebp - 0x2460]
call fcn.00410439
lea ecx, [ebp - 0x2460]
call fcn.004104df
push 0x10
lea eax, [ebp - 0x2408]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.005b2600
push 0x40
pop edi
push edi
lea eax, [ebp - 0x2b0]
push ebx
push eax
call fcn.005b24a0
push edi
lea eax, [ebp - 0x2f0]
push ebx
push eax
call fcn.005b24a0
add esp, 0x38
mov esi, ebx
movzx eax, byte [ebp + esi - 0x40]
push eax
push str._02x
lea eax, [ebp - 0x2f0]
push edi
push eax
call fcn.00409d8c
lea eax, [ebp - 0x2f0]
push eax
lea eax, [ebp - 0x2b0]
push edi
push eax
call fcn.005c929d
add esp, 0x1c
inc esi
cmp esi, 0x10
jl 0x4b5a4f
lea eax, [ebp - 0x2b0]
push eax
call fcn.005b69b0
pop ecx
lea esi, [eax + 1]
cmp esi, 0x3fffffff
jg 0x4b5ab6
lea eax, [esi + esi]
call fcn.0059bb40
mov ecx, esp
lea edx, [ebp - 0x2b0]
push 3
push esi
call fcn.00411634
mov ebx, eax
push ebx
push 0x105
push dword [ebp - 0x2768]
call fcn.005c4440
mov esi, dword [ebp - 0x2734]
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov edi, dword [ebp - 0x276c]
push dword [ebp - 0x2770]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea esp, [ebp - 0x277c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059a7a2
leave
ret