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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2770
call fcn.0056f680
mov eax, dword [0x649ffc]
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.004493b4
test al, al
je 0x44ae17
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.00586790
push 0x2cc
lea eax, [ebp - 0x272c]
push ebx
push eax
call fcn.00586790
push 0x2000
lea eax, [ebp - 0x22f0]
push ebx
push eax
call fcn.00586790
push 0x208
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.00586790
add esp, 0x30
test esi, esi
je 0x44ae17
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 0x44ae17
push ebx
push edi
mov dword [0x662300], edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
test eax, eax
je 0x44ae10
push ebx
push ebx
push ebx
push 2
push ebx
push edi
mov dword [0x653ffc], eax
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov dword [ebp - 0x2770], eax
test eax, eax
je 0x44ae10
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 0x44ae04
lea eax, [ebp - 0x2754]
mov dword [0x654000], esi
push eax
lea eax, [ebp - 0x275c]
push eax
lea eax, [ebp - 0x2758]
push eax
push 6
push esi
call dword [0x653fd8]
test eax, eax
je 0x44adf7
lea eax, [ebp - 0x2754]
push eax
lea eax, [ebp - 0x2730]
push eax
lea eax, [ebp - 0x2758]
push eax
push 4
push esi
call dword [0x653fd8]
test eax, eax
je 0x44adf7
lea eax, [ebp - 0x2754]
push eax
lea eax, [ebp - 0x2760]
push eax
lea eax, [ebp - 0x2758]
push eax
push 3
push esi
call dword [0x653fd8]
test eax, eax
je 0x44adf7
mov edx, dword [ebp - 0x2760]
mov ecx, ebx
cmp dword [edx], ecx
jbe 0x4497ff
mov eax, dword [ebp - 0x275c]
mov edi, dword [eax]
lea eax, [edx + 4]
cmp edi, dword [eax]
je 0x4497f2
inc ecx
add eax, 0x30
cmp ecx, dword [edx]
jb 0x4497e4
jmp 0x4497ff
imul eax, ecx, 0x30
add eax, 4
add eax, edx
mov dword [0x654008], 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 [0x653fd8]
test eax, eax
je 0x44adf7
mov eax, dword [ebp - 0x2764]
lea ecx, [ebp - 0x272c]
mov dword [0x654004], 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.0044628e
mov edi, ebx
pop ecx
pop ecx
cmp dword [ebp - 0x2748], ebx
jne 0x449913
mov edx, dword [ebp - 0x2730]
mov esi, ebx
cmp dword [edx], ebx
jbe 0x4498b9
lea ecx, [edx + 4]
mov eax, dword [ecx]
cmp ebx, dword [ecx + 4]
jb 0x4498af
ja 0x449885
cmp dword [ebp - 0x2674], eax
jb 0x4498af
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 0x4498b7
ja 0x4498af
mov eax, dword [ebp - 0x2674]
cmp eax, dword [ebp - 0x2744]
jb 0x4498b7
inc esi
add ecx, 0x6c
cmp esi, dword [edx]
jb 0x449874
mov edi, ebx
cmp esi, dword [edx]
je 0x4499fe
push 0x208
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.00586790
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.005991bc
mov eax, dword [ebp - 0x2730]
add esp, 0x18
cmp esi, dword [eax]
je 0x4499fe
jmp 0x4499e8
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.004494f7
mov edx, dword [ebp - 0x2730]
mov ecx, ebx
mov eax, dword [ebp - 0x273c]
cmp dword [edx], ecx
jbe 0x449990
mov esi, dword [ebp - 0x2730]
add edx, 4
cmp ebx, dword [edx + 4]
jb 0x44997c
ja 0x44995c
cmp eax, dword [edx]
jb 0x44997c
mov esi, dword [edx + 8]
xor eax, eax
add esi, dword [edx]
adc eax, dword [edx + 4]
cmp ebx, eax
jb 0x449984
mov eax, dword [ebp - 0x273c]
ja 0x449976
cmp eax, esi
jb 0x449984
mov esi, dword [ebp - 0x2730]
inc ecx
add edx, 0x6c
cmp ecx, dword [esi]
jb 0x449951
mov eax, dword [ebp - 0x273c]
mov edx, dword [ebp - 0x2730]
cmp ecx, dword [edx]
je 0x4499fe
imul esi, ecx, 0x6c
sub eax, dword [esi + edx + 4]
push eax
push str.0x_08x
push dword [ebp - 0x274c]
call fcn.0041f578
push 0x208
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.00586790
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.005991bc
add esp, 0x24
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004494dd
mov edi, eax
cmp dword [ebp + 0xc], ebx
je 0x449d37
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.00586790
add esp, 0xc
mov dword [ebp - 0x2744], ebx
push ebx
push ebx
push ebx
push fcn.004494f7
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 [0x653fec]
test eax, eax
je 0x449d0d
mov edx, dword [ebp - 0x2730]
mov ecx, ebx
mov dword [ebp - 0x2738], ebx
mov edi, dword [edx]
test edi, edi
je 0x449aec
add edx, 4
cmp ebx, dword [edx + 4]
jb 0x449ade
ja 0x449ac6
mov eax, dword [ebp - 0x23f8]
cmp eax, dword [edx]
jb 0x449ade
mov esi, dword [edx + 8]
xor eax, eax
add esi, dword [edx]
adc eax, dword [edx + 4]
cmp ebx, eax
jb 0x449ae6
ja 0x449ade
cmp dword [ebp - 0x23f8], esi
jb 0x449ae6
inc ecx
add edx, 0x6c
cmp ecx, edi
jb 0x449ab5
mov dword [ebp - 0x2738], ecx
cmp ecx, edi
je 0x449ce9
imul esi, ecx, 0x6c
mov dword [ebp - 0x274c], esi
cmp word [ebp - 0x22f0], bx
jne 0x449bb4
push 0x208
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.00586790
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.005991bc
add esp, 0x18
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004494dd
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
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 0x601d64
push 0x14
push eax
call fcn.00409d4d
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
add esp, 0x28
jmp 0x449ce9
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x2c]
rep stosd dword es:[edi], eax
push 0x601d60
mov edi, 0x1000
lea eax, [ebp - 0x22f0]
push edi
push eax
call fcn.0059bcbe
push 0x208
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.00586790
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.005991bc
add esp, 0x24
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004494dd
push eax
lea eax, [ebp - 0x22f0]
push edi
push eax
call fcn.0059bcbe
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x23f8]
sub ecx, dword [esi + eax + 4]
lea eax, [ebp - 0x2c]
push ecx
push 0x601d64
push 0x14
push eax
call fcn.00409d4d
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push edi
push eax
call fcn.0059bcbe
mov ecx, dword [ebp - 0x2730]
add esp, 0x28
mov eax, dword [ebp - 0x2738]
cmp eax, dword [ecx]
je 0x449ce9
cmp dword [ebp - 0x2740], ebx
je 0x449ce9
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.0041f578
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.005991bc
add esp, 0xc
mov dword [ebp - 0x2740], ebx
mov eax, dword [ebp - 0x23e8]
or eax, dword [ebp - 0x23e4]
je 0x449d0d
mov esi, dword [ebp - 0x2744]
inc esi
mov dword [ebp - 0x2744], esi
cmp esi, 5
jl 0x449a6d
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.0059771b
inc eax
pop ecx
cmp eax, 0x3fffffff
jle 0x44acec
mov esi, ebx
jmp 0x44ad08
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpIW]
push 0x5fce7c
push edi
call esi
test eax, eax
je 0x44a39b
push str.user32
push edi
call esi
test eax, eax
je 0x44a39b
push str.ntdll
push edi
call esi
test eax, eax
je 0x44a39b
push str.kernelbase
push edi
call esi
test eax, eax
je 0x44a39b
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.00586790
mov edi, dword [ebp - 0x2730]
add esp, 0xc
mov esi, ebx
cmp dword [edi], ebx
jbe 0x449e1d
lea ecx, [edi + 4]
cmp ebx, dword [ecx + 4]
jb 0x449e15
ja 0x449dfd
mov eax, dword [ebp - 0x2674]
cmp eax, dword [ecx]
jb 0x449e15
mov edx, dword [ecx + 8]
xor eax, eax
add edx, dword [ecx]
adc eax, dword [ecx + 4]
cmp ebx, eax
jb 0x449e1d
ja 0x449e15
cmp dword [ebp - 0x2674], edx
jb 0x449e1d
inc esi
add ecx, 0x6c
cmp esi, dword [edi]
jb 0x449dec
cmp esi, dword [edi]
je 0x449f58
push 0x208
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.00586790
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.005991bc
add esp, 0x18
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004494dd
push eax
mov edi, 0x1000
lea eax, [ebp - 0x22f0]
push edi
push eax
call fcn.0059bcbe
push 0x601de0
lea eax, [ebp - 0x22f0]
push edi
push eax
call fcn.0059bcbe
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.00409d4d
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
mov edi, dword [ebp - 0x2748]
add esp, 0x34
mov eax, dword [ebp - 0x2740]
mov dword [ebp - 0x2740], eax
test edi, edi
je 0x449f58
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.0041f578
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.005991bc
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.004494f7
mov edi, dword [ebp - 0x2730]
mov ecx, ebx
cmp ecx, dword [edi]
jae 0x449fc2
lea edx, [edi + 4]
cmp ebx, dword [edx + 4]
jb 0x449fb8
ja 0x449fa0
mov eax, dword [ebp - 0x2744]
cmp eax, dword [edx]
jb 0x449fb8
mov esi, dword [edx + 8]
xor eax, eax
add esi, dword [edx]
adc eax, dword [edx + 4]
cmp ebx, eax
jb 0x449fc0
ja 0x449fb8
cmp dword [ebp - 0x2744], esi
jb 0x449fc0
inc ecx
add edx, 0x6c
cmp ecx, dword [edi]
jb 0x449f8f
cmp ecx, dword [edi]
je 0x44a16f
push 0x208
imul esi, ecx, 0x6c
lea eax, [ebp - 0x270]
push ebx
push eax
cmp word [ebp - 0x22f0], bx
jne 0x44a098
call fcn.00586790
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.005991bc
add esp, 0x18
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004494dd
push eax
mov edi, 0x1000
lea eax, [ebp - 0x22f0]
push edi
push eax
call fcn.0059bcbe
push 0x601de0
lea eax, [ebp - 0x22f0]
push edi
push eax
call fcn.0059bcbe
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.00409d4d
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
mov edi, dword [ebp - 0x2734]
add esp, 0x34
jmp 0x44a106
call fcn.00586790
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.005991bc
push 0x601d60
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
add esp, 0x24
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004494dd
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
add esp, 0xc
cmp dword [ebp - 0x2740], ebx
je 0x44a16f
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.0041f578
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.005991bc
mov dword [ebp - 0x2740], ebx
add esp, 0xc
push ebx
push ebx
push ebx
push fcn.004494f7
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 [0x653fec]
test eax, eax
je 0x449d0d
mov eax, dword [ebp - 0x23e8]
or eax, dword [ebp - 0x23e4]
je 0x449d0d
mov ecx, dword [ebp - 0x2730]
mov esi, ebx
mov edi, dword [ecx]
test edi, edi
je 0x44a1f4
add ecx, 4
mov eax, dword [ecx]
cmp ebx, dword [ecx + 4]
jb 0x44a1ec
ja 0x44a1d4
cmp dword [ebp - 0x23e8], eax
jb 0x44a1ec
mov edx, dword [ecx + 8]
xor eax, eax
add edx, dword [ecx]
adc eax, dword [ecx + 4]
cmp ebx, eax
jb 0x44a1f4
ja 0x44a1ec
cmp dword [ebp - 0x23e8], edx
jb 0x44a1f4
inc esi
add ecx, 0x6c
cmp esi, edi
jb 0x44a1c3
cmp esi, edi
je 0x44a16f
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 0x44a2d1
call fcn.00586790
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.005991bc
add esp, 0x18
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004494dd
push eax
mov esi, 0x1000
lea eax, [ebp - 0x22f0]
push esi
push eax
call fcn.0059bcbe
push 0x601de0
lea eax, [ebp - 0x22f0]
push esi
push eax
call fcn.0059bcbe
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.00409d4d
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push esi
push eax
call fcn.0059bcbe
add esp, 0x34
jmp 0x44a16f
call fcn.00586790
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.005991bc
push 0x601d60
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
add esp, 0x24
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004494dd
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
mov eax, dword [ebp - 0x2730]
add esp, 0xc
cmp esi, dword [eax]
je 0x44a16f
cmp dword [ebp - 0x2740], ebx
je 0x44a16f
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.0041f578
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x2734]
add ecx, 4
mov eax, dword [edi + eax + 0x18]
add eax, ecx
jmp 0x44a14b
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.00586790
mov ecx, dword [ebp - 0x2730]
add esp, 0xc
mov edx, ebx
mov eax, dword [ecx]
mov dword [ebp - 0x273c], eax
test eax, eax
je 0x44a451
mov esi, dword [ebp - 0x2674]
add ecx, 4
cmp ebx, dword [ecx + 4]
jb 0x44a443
ja 0x44a429
cmp esi, dword [ecx]
jb 0x44a443
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 0x44a44b
ja 0x44a443
cmp esi, edi
jb 0x44a44b
inc edx
add ecx, 0x6c
cmp edx, eax
jb 0x44a41e
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpIW]
cmp edx, eax
je 0x44a64c
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 0x44a51f
call fcn.00586790
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.005991bc
add esp, 0x18
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004494dd
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
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 0x601d64
push 0x14
push eax
call fcn.00409d4d
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
add esp, 0x28
jmp 0x44a64c
call fcn.00586790
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.005991bc
push 0x601d60
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
add esp, 0x24
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004494dd
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
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 0x44a652
push str.user32.dll
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call esi
test eax, eax
je 0x44a652
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 0x44a652
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 0x44a652
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 0x601d64
push 0x14
push eax
call fcn.00409d4d
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
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.004494f7
mov ecx, dword [ebp - 0x2730]
mov eax, ebx
mov dword [ebp - 0x273c], eax
cmp eax, dword [ecx]
jae 0x44a6e1
mov edi, dword [ebp - 0x274c]
lea edx, [ecx + 4]
mov esi, dword [edx]
cmp ebx, dword [edx + 4]
jb 0x44a6c5
ja 0x44a69d
cmp edi, esi
jb 0x44a6c5
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 0x44a6d3
ja 0x44a6c5
cmp edi, dword [ebp - 0x2738]
jb 0x44a6d3
inc eax
add edx, 0x6c
mov dword [ebp - 0x273c], eax
cmp eax, dword [ecx]
jb 0x44a690
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpIW]
mov edi, dword [ebp - 0x2734]
cmp eax, dword [ecx]
je 0x44a9f8
cmp word [ebp - 0x22f0], bx
jne 0x44a821
push 0x208
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.00586790
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.005991bc
add esp, 0x18
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004494dd
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
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 0x601d64
push 0x14
push eax
call fcn.00409d4d
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
mov edx, dword [ebp - 0x2740]
add esp, 0x28
mov dword [ebp - 0x2740], edx
cmp dword [ebp - 0x2748], ebx
je 0x44a9f8
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.0041f578
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.005991bc
jmp 0x44a9ef
cmp dword [ebp - 0x2744], ebx
jne 0x44a980
push 0x208
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.00586790
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.005991bc
push 0x601d60
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
add esp, 0x24
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004494dd
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
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 0x44a974
push str.user32.dll
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call esi
test eax, eax
je 0x44a974
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 0x44a974
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 0x44a974
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 0x601d64
push 0x14
push eax
call fcn.00409d4d
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
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 0x44a9f8
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.0041f578
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.005991bc
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpIW]
add esp, 0xc
mov dword [ebp - 0x2740], ebx
push ebx
push ebx
push ebx
push fcn.004494f7
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 [0x653fec]
test eax, eax
je 0x449d0d
mov eax, dword [ebp - 0x23e8]
or eax, dword [ebp - 0x23e4]
je 0x449d0d
mov edx, dword [ebp - 0x2730]
mov ecx, ebx
mov eax, dword [edx]
mov dword [ebp - 0x2738], eax
test eax, eax
je 0x44aa91
add edx, 4
mov esi, eax
mov eax, dword [edx]
cmp ebx, dword [edx + 4]
jb 0x44aa7d
ja 0x44aa65
cmp dword [ebp - 0x23e8], eax
jb 0x44aa7d
mov edi, dword [edx + 8]
xor eax, eax
add edi, dword [edx]
adc eax, dword [edx + 4]
cmp ebx, eax
jb 0x44aa85
ja 0x44aa7d
cmp dword [ebp - 0x23e8], edi
jb 0x44aa85
inc ecx
add edx, 0x6c
cmp ecx, esi
jb 0x44aa54
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpIW]
mov eax, dword [ebp - 0x2738]
cmp ecx, eax
je 0x44a9f8
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 0x44ab5f
call fcn.00586790
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.005991bc
add esp, 0x18
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004494dd
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
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 0x601d64
push 0x14
push eax
call fcn.00409d4d
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
add esp, 0x28
jmp 0x44ac98
call fcn.00586790
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.005991bc
push 0x601d60
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
add esp, 0x24
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov ecx, eax
call fcn.004494dd
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
add esp, 0xc
cmp dword [ebp - 0x2744], ebx
jne 0x44ac98
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 0x44ac98
push str.user32.dll
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call esi
test eax, eax
je 0x44ac98
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 0x44ac98
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 0x44ac98
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 0x601d64
push 0x14
push eax
call fcn.00409d4d
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x22f0]
push 0x1000
push eax
call fcn.0059bcbe
add esp, 0x1c
mov dword [ebp - 0x2744], 1
cmp dword [ebp - 0x2740], ebx
je 0x44a9f8
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.0041f578
mov eax, dword [ebp - 0x2730]
mov ecx, dword [ebp - 0x2734]
add ecx, 4
mov eax, dword [edi + eax + 0x18]
add eax, ecx
jmp 0x44a9ce
lea esi, [eax + eax]
mov eax, esi
call fcn.0056fde0
mov ecx, esp
lea edx, [ebp - 0x22f0]
push 3
push esi
call fcn.004108ac
mov esi, eax
push esi
call fcn.0058acf0
inc eax
push eax
push esi
call fcn.00599d5e
lea ecx, [ebp - 0x2460]
call fcn.00410537
push esi
call fcn.0058acf0
push eax
mov edx, esi
lea ecx, [ebp - 0x2460]
call fcn.0041055b
lea ecx, [ebp - 0x2460]
call fcn.00410601
push 0x10
lea eax, [ebp - 0x2408]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.005868f0
push 0x40
pop edi
push edi
lea eax, [ebp - 0x2b0]
push ebx
push eax
call fcn.00586790
push edi
lea eax, [ebp - 0x2f0]
push ebx
push eax
call fcn.00586790
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.00408646
lea eax, [ebp - 0x2f0]
push eax
lea eax, [ebp - 0x2b0]
push edi
push eax
call fcn.0059bd33
add esp, 0x1c
inc esi
cmp esi, 0x10
jl 0x44ad76
lea eax, [ebp - 0x2b0]
push eax
call fcn.0058acf0
pop ecx
lea esi, [eax + 1]
cmp esi, 0x3fffffff
jg 0x44addd
lea eax, [esi + esi]
call fcn.0056fde0
mov ecx, esp
lea edx, [ebp - 0x2b0]
push 3
push esi
call fcn.004108e0
mov ebx, eax
push ebx
push 0x105
push dword [ebp - 0x2768]
call fcn.005991bc
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.0056e987
leave
ret