Function at 0x448fb0
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4dc8e4
mov eax, dword fs:[0]
push eax
sub esp, 0x250
mov eax, dword [0x540c80]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 4], 3
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call fcn.004b4a90
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x449057
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x248]
call fcn.00443340
mov byte [ebp - 4], 4
push eax
call fcn.004446d0
push eax
lea ecx, [ebp - 0x254]
call fcn.00447760
push 0x52accc
lea eax, [ebp - 0x254]
push eax
call fcn.004b74bb
xor eax, eax
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
cmp word [ebp - 0x218], ax
jne 0x449095
xor ecx, ecx
jmp 0x4490af
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov edi, edi
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4490a0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x230]
call fcn.0044e920
mov byte [ebp - 4], 5
mov eax, dword [ebp + 8]
push 1
cmp dword [eax - 0xc], 0
push ecx
lea ecx, [ebp - 0x230]
je 0x44929c
push 0x5265ac
call fcn.0044e6f0
push eax
push 0
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x230]
call fcn.0044e2f0
mov esi, eax
mov byte [ebp - 4], 6
lea eax, [ebp - 0x230]
cmp eax, esi
je 0x44914b
cmp dword [ebp - 0x21c], 8
jb 0x449122
push dword [ebp - 0x230]
call fcn.004af5b5
add esp, 4
xor eax, eax
push esi
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.0044e650
mov byte [ebp - 4], 5
cmp dword [ebp - 0x234], 8
jb 0x449166
push dword [ebp - 0x248]
call fcn.004af5b5
add esp, 4
xor eax, eax
push 0x52670c
lea ecx, [ebp - 0x24c]
mov dword [ebp - 0x234], 7
mov dword [ebp - 0x238], 0
mov word [ebp - 0x248], ax
call fcn.00403560
mov byte [ebp - 4], 7
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
lea ecx, [ebp - 0x250]
call fcn.004025a0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x24c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x258]
call fcn.0040f160
mov byte [ebp - 4], 9
lea ecx, [ebp + 8]
push ecx
mov edx, eax
lea ecx, [ebp - 0x25c]
call fcn.0040f160
add esp, 8
mov byte [ebp - 4], 0xa
lea ecx, [ebx + 0xd4]
push eax
call fcn.004026b0
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x25c]
add edx, 0xfffffff0
or edi, 0xffffffff
lea ecx, [edx + 0xc]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x44921d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x258]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x449240
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x250]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x449263
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x24c]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x449286
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp + 8]
lea esi, [ebx + 0xdc]
push eax
mov ecx, esi
call fcn.004026b0
jmp 0x4494d0
push 0x5268f8
call fcn.0044e6f0
push eax
push 0
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x230]
call fcn.0044e2f0
mov esi, eax
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x230]
cmp eax, esi
je 0x44930b
cmp dword [ebp - 0x21c], 8
jb 0x4492e2
push dword [ebp - 0x230]
call fcn.004af5b5
add esp, 4
xor eax, eax
push esi
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.0044e650
mov byte [ebp - 4], 5
cmp dword [ebp - 0x234], 8
jb 0x449326
push dword [ebp - 0x248]
call fcn.004af5b5
add esp, 4
xor eax, eax
cmp dword [ebp - 0x21c], 8
mov word [ebp - 0x248], ax
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
lea ecx, [ebp - 0x258]
mov dword [ebp - 0x234], 7
mov dword [ebp - 0x238], 0
call fcn.004025a0
mov edx, eax
mov byte [ebp - 4], 0x10
call fcn.00444140
push eax
lea ecx, [ebp - 0x250]
call fcn.00418660
add esp, 4
mov byte [ebp - 4], 0x11
lea ecx, [ebx + 0xd4]
push eax
call fcn.004026b0
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x250]
add edx, 0xfffffff0
or edi, 0xffffffff
lea ecx, [edx + 0xc]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4493b3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x258]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4493d6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 1
push ecx
push 0x5268fc
lea ecx, [ebp - 0x230]
call fcn.0044e6f0
push 0xffffffffffffffff
inc eax
push eax
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x230]
call fcn.0044e2f0
mov esi, eax
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x230]
cmp eax, esi
je 0x44944f
cmp dword [ebp - 0x21c], 8
jb 0x449426
push dword [ebp - 0x230]
call fcn.004af5b5
add esp, 4
xor eax, eax
push esi
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.0044e650
mov byte [ebp - 4], 5
cmp dword [ebp - 0x234], 8
jb 0x44946a
push dword [ebp - 0x248]
call fcn.004af5b5
add esp, 4
xor eax, eax
cmp dword [ebp - 0x21c], 8
lea edx, [ebp - 0x230]
cmovae edx, dword [ebp - 0x230]
mov dword [ebp - 0x234], 7
mov dword [ebp - 0x238], 0
mov word [ebp - 0x248], ax
lea esi, [ebx + 0xdc]
test edx, edx
jne 0x4494a9
xor ecx, ecx
jmp 0x4494c7
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x250], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4494b4
sub ecx, dword [ebp - 0x250]
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.00402790
cmp word [ebp - 0x218], 0
jne 0x4494de
xor ecx, ecx
jmp 0x4494f6
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4494e7
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x230]
call fcn.0044e920
mov eax, dword [ebp + 0x14]
cmp dword [eax - 0xc], 0
je 0x4496d0
push 1
push ecx
push str.._
lea ecx, [ebp - 0x230]
call fcn.0044e6f0
push eax
push 0
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x230]
call fcn.0044e2f0
mov dword [ebp - 0x250], eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x230]
cmp ecx, eax
je 0x449598
cmp dword [ebp - 0x21c], 8
jb 0x44956f
push dword [ebp - 0x230]
call fcn.004af5b5
mov eax, dword [ebp - 0x250]
add esp, 4
xor ecx, ecx
mov word [ebp - 0x230], cx
push eax
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
call fcn.0044e650
mov byte [ebp - 4], 5
cmp dword [ebp - 0x234], 8
jb 0x4495b3
push dword [ebp - 0x248]
call fcn.004af5b5
add esp, 4
xor eax, eax
push 0x5268f4
lea ecx, [ebp - 0x24c]
mov dword [ebp - 0x234], 7
mov dword [ebp - 0x238], 0
mov word [ebp - 0x248], ax
call fcn.00403560
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
lea ecx, [ebp - 0x25c]
call fcn.004025a0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x24c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x258]
call fcn.0040f160
mov byte [ebp - 4], 0x18
lea ecx, [ebp + 0x14]
push ecx
mov edx, eax
lea ecx, [ebp - 0x250]
call fcn.0040f160
add esp, 8
mov byte [ebp - 4], 0x19
push eax
lea ecx, [ebx + 0xd8]
call fcn.004026b0
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x250]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x449667
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x258]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44968a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x25c]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4496ad
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x24c]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4496d0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebx + 0xd4]
push eax
push eax
call fcn.004b3eac
add esp, 8
test eax, eax
je 0x44986d
mov eax, dword [ebp + 0xc]
push eax
push eax
call fcn.004b3eac
add esp, 8
test eax, eax
je 0x4497be
mov eax, dword [ebp + 0x10]
push eax
push eax
call fcn.004b3eac
add esp, 8
test eax, eax
je 0x449732
push 0
call fcn.00443f70
push eax
lea ecx, [ebp - 0x254]
call fcn.00447690
push 0x52accc
lea eax, [ebp - 0x254]
push eax
call fcn.004b74bb
push str.dll_found_on_path2
lea ecx, [ebp - 0x24c]
call fcn.00403560
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x24c]
push eax
mov ecx, ebx
call fcn.0044d6c0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24c]
call fcn.00402650
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004026b0
push 0x5c
push dword [ebp + 0x10]
call fcn.004b1e24
add esp, 8
test eax, eax
jne 0x449788
or eax, 0xffffffff
jmp 0x44978d
sub eax, dword [ebp + 0x10]
sar eax, 1
inc eax
push eax
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp + 0x10]
call fcn.00422dc0
mov byte [ebp - 4], 0x1f
push eax
mov ecx, esi
call fcn.004026b0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x250]
call fcn.00402650
jmp 0x44986d
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004026b0
push 0x5c
push dword [ebp + 0xc]
call fcn.004b1e24
add esp, 8
test eax, eax
jne 0x4497e3
or eax, 0xffffffff
jmp 0x4497e8
sub eax, dword [ebp + 0xc]
sar eax, 1
inc eax
push eax
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp + 0xc]
call fcn.00422dc0
mov byte [ebp - 4], 0x20
push eax
mov ecx, esi
call fcn.004026b0
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x250]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x449828
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.dll_found_on_path1
lea ecx, [ebp - 0x24c]
call fcn.00403560
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0x24c]
push eax
mov ecx, ebx
call fcn.0044d6c0
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x24c]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44986d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x526900
call fcn.00444320
push eax
mov ecx, esi
call fcn.0040edc0
push 0x526904
call fcn.00445b80
push eax
mov ecx, esi
call fcn.0040edc0
push 0x526938
call fcn.004459d0
push eax
mov ecx, esi
call fcn.0040edc0
push 0x52693c
call fcn.004474a0
push eax
mov ecx, esi
call fcn.0040edc0
push 0x526930
call fcn.00444140
push eax
mov ecx, esi
call fcn.0040edc0
call fcn.004465a0
push eax
lea ecx, [ebp - 0x25c]
call fcn.004025a0
mov byte [ebp - 4], 0x24
push 0x526934
mov edx, eax
lea ecx, [ebp - 0x258]
call fcn.00418660
mov byte [ebp - 4], 0x25
push esi
mov edx, eax
lea ecx, [ebp - 0x250]
call fcn.0040f160
add esp, 8
mov byte [ebp - 4], 0x26
push eax
mov ecx, esi
call fcn.004026b0
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x250]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x449932
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0x258]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x449955
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x25c]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x449978
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, dword [ebx + 0xd4]
mov esi, esp
sub ecx, 0x10
mov dword [ebp - 0x25c], esp
mov dword [ebp - 0x24c], esi
call fcn.004028c0
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0x2b
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x258]
call fcn.00440990
mov byte [ebp - 4], 0x2c
push eax
mov edx, 0x526954
lea ecx, [ebp - 0x250]
call fcn.00418740
add esp, 8
mov byte [ebp - 4], 0x2d
push eax
lea ecx, [ebx + 0xcc]
call fcn.004026b0
mov byte [ebp - 4], 0x2c
mov edx, dword [ebp - 0x250]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4499f8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x258]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x449a1b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
cmp dword [ebp - 0x21c], 8
jb 0x449a36
push dword [ebp - 0x230]
call fcn.004af5b5
add esp, 4
xor eax, eax
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
mov byte [ebp - 4], 2
mov edx, dword [ebp + 8]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x449a73
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov edx, dword [ebp + 0xc]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x449a93
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov edx, dword [ebp + 0x10]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x449ab3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp + 0x14]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x449ad4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004af5ba
mov esp, ebp
pop ebp
ret 0x10