Function at 0x10034700
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x89c
mov eax, dword [0x1017455c]
xor eax, esp
mov dword [esp + 0x898], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov esi, ecx
push 0x103
lea ecx, [esp + 0x695]
push 0
push ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], esi
mov byte [esp + 0x69c], 0
call fcn.10116880
mov edx, dword [str.scan.dll__bdcore.dll]
mov eax, dword [0x101502c0]
mov ecx, dword [0x101502c4]
mov dword [esp + 0x54], edx
mov edx, dword [0x101502c8]
mov dword [esp + 0x58], eax
mov eax, dword [0x101502cc]
mov dword [esp + 0x5c], ecx
mov cl, byte [0x101502d0]
add esp, 0xc
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], eax
mov byte [esp + 0x5c], cl
test esi, esi
je 0x10034797
push 0x740
push 0
push esi
call fcn.10116880
add esp, 0xc
push 0x103
lea edx, [esp + 0x65]
push 0
push edx
mov byte [esp + 0x6c], 0
call fcn.10116880
add esp, 0xc
push 1
lea eax, [esp + 0x10]
push 0x2c
push eax
lea edx, [esp + 0x69c]
lea ecx, [esp + 0x54]
mov dword [esp + 0x18], 0
call fcn.10045850
add esp, 0xc
cmp dword [esp + 0xc], 0xffffffff
je 0x10034a34
nop
mov ecx, dword [esp + 0x10]
push ecx
lea edx, [esp + 0x64]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [esp + 0x60], 0
je 0x10034823
lea eax, [esp + 0x60]
jmp 0x10034800
inc eax
cmp byte [eax], 0
jne 0x10034800
lea ecx, [esp + 0x60]
sub eax, ecx
je 0x10034823
cmp byte [esp + eax + 0x5f], 0x5c
je 0x10034823
push 0x10149ea8
mov edx, ecx
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x690]
push eax
lea ecx, [esp + 0x64]
push ecx
call ebx
push 1
push 0
xor edx, edx
lea ecx, [esp + 0x68]
call fcn.10044660
add esp, 8
test eax, eax
je 0x100349f3
lea edi, [esp + 0x378]
call fcn.10039e30
xor eax, eax
mov cl, byte [esp + eax + 0x378]
mov byte [esp + eax + 0x168], cl
inc eax
test cl, cl
jne 0x10034860
cmp byte [esp + 0x168], cl
je 0x100348a8
lea eax, [esp + 0x168]
inc eax
cmp byte [eax], 0
jne 0x10034883
lea edx, [esp + 0x168]
sub eax, edx
je 0x100348a8
cmp byte [esp + eax + 0x167], 0x5c
je 0x100348a8
push 0x10149ea8
mov eax, edx
push eax
call ebx
lea eax, [esp + 0x168]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x100348b0
mov ecx, dword [str.vdb32_]
mov dx, word [0x101502d8]
mov dword [eax], ecx
mov cl, byte [0x101502da]
mov word [eax + 4], dx
mov byte [eax + 6], cl
lea eax, [esp + 0x690]
mov edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100348e0
lea edi, [esp + 0x168]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x100348f1
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0
lea edi, [esp + 0x64]
lea ebx, [esp + 0x16c]
call fcn.10063ba0
add esp, 4
test eax, eax
jne 0x100349ef
jmp 0x10034930
mov cl, byte [esp + eax + 0x378]
mov byte [esp + eax + 0x168], cl
inc eax
test cl, cl
jne 0x10034930
cmp byte [esp + 0x168], cl
je 0x1003497c
lea eax, [esp + 0x168]
inc eax
cmp byte [eax], 0
jne 0x10034953
lea edx, [esp + 0x168]
sub eax, edx
je 0x1003497c
cmp byte [esp + eax + 0x167], 0x5c
je 0x1003497c
push 0x10149ea8
mov eax, edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x168]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x10034984
mov ecx, dword [str.vdb64_]
mov dx, word [0x101502e0]
mov dword [eax], ecx
mov cl, byte [0x101502e2]
mov word [eax + 4], dx
mov byte [eax + 6], cl
lea eax, [esp + 0x690]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100349b1
lea edi, [esp + 0x168]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x100349c2
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0
lea edi, [esp + 0x64]
lea ebx, [esp + 0x16c]
call fcn.10063ba0
add esp, 4
mov esi, dword [esp + 0x34]
push 1
push 0
xor edx, edx
lea ecx, [esp + 0x68]
call fcn.10044660
add esp, 8
test eax, eax
jne 0x10034ada
push 1
lea edx, [esp + 0x10]
push 0x2c
push edx
lea edx, [esp + 0x69c]
lea ecx, [esp + 0x54]
call fcn.10045850
add esp, 0xc
cmp dword [esp + 0xc], 0xffffffff
jne 0x100347e0
mov ecx, dword [esp + 0x10]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push ecx
lea edx, [esp + 0x64]
push edx
call edi
lea ecx, [esp + 0x60]
call fcn.10049c40
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.plugins
lea eax, [esp + 0x64]
push eax
call ebx
lea ecx, [esp + 0x60]
push 0
push ecx
call fcn.10044cc0
add esp, 8
test eax, eax
jne 0x10034b07
push eax
lea edx, [esp + 0x64]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
cmp eax, 1
je 0x10034b07
lea eax, [esp + 0x60]
push eax
call fcn.1005a190
add esp, 4
test eax, eax
jne 0x10034b07
cmp dword [0x101936e8], eax
je 0x10034ac1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [esp + 0x64]
push ecx
push str._BDF__CreateDir_Failed:__s___Err:_u
push 0
call fcn.10053700
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x898]
xor ecx, esp
call fcn.1010d699
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0x60]
push eax
push str._BDF__File_Absent:__s_
push 0
call fcn.10053700
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x898]
xor ecx, esp
call fcn.1010d699
mov esp, ebp
pop ebp
ret 4
test esi, esi
je 0x10035227
push 0x103
lea edx, [esp + 0x58d]
push 0
push edx
mov byte [esp + 0x594], 0
call fcn.10116880
mov eax, dword [esp + 0x1c]
add esp, 0xc
push eax
lea ecx, [esp + 0x58c]
push ecx
call edi
lea ecx, [esp + 0x588]
call fcn.10049c40
push str.plugins
lea edx, [esp + 0x58c]
push edx
call ebx
lea ecx, [esp + 0x588]
call fcn.10049c40
push str.update.txt
lea eax, [esp + 0x58c]
push eax
call ebx
push 1
push 0
xor edx, edx
lea ecx, [esp + 0x590]
call fcn.10044660
add esp, 8
test eax, eax
jne 0x10035227
push 0x103
push eax
lea ecx, [esp + 0x171]
push ecx
mov byte [esp + 0x174], al
call fcn.10116880
mov dx, word [0x10148b5c]
mov al, byte [0x10148b5e]
add esp, 0xc
push 0x20
lea ecx, [esp + 0x10]
mov word [esp + 0x10], dx
push ecx
lea edx, [esp + 0x590]
push edx
mov byte [esp + 0x1a], al
call fcn.1010eb3a
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
je 0x10035227
push 0x103
lea ecx, [esp + 0x16c]
call fcn.10046580
add esp, 4
test eax, eax
je 0x1003521a
push 0x103
lea eax, [esp + 0x65]
push 0
push eax
mov byte [esp + 0x6c], 0
call fcn.10116880
lea ecx, [esp + 0x174]
add esp, 0xc
push ecx
call fcn.100454f0
add esp, 4
cmp byte [esp + 0x168], 0
je 0x100351fa
push str.Update_time:
lea edx, [esp + 0x64]
push edx
call edi
cmp byte [esp + 0x60], 0
lea eax, [esp + 0x60]
je 0x10034c56
nop
inc eax
cmp byte [eax], 0
jne 0x10034c50
lea ecx, [esp + 0x60]
sub eax, ecx
push eax
mov eax, ecx
lea ecx, [esp + 0x16c]
call fcn.100318e0
add esp, 4
test eax, eax
jne 0x10034f0c
xor edx, edx
push 0x103
mov dword [esp + 0x2a], eax
mov dword [esp + 0x2e], eax
mov dword [esp + 0x32], eax
mov word [esp + 0x36], ax
push edx
lea eax, [esp + 0x279]
push eax
mov word [esp + 0x30], dx
mov byte [esp + 0x27c], dl
call fcn.10116880
add esp, 0xc
push 0x103
lea ecx, [esp + 0x485]
push 0
push ecx
mov byte [esp + 0x48c], 0
call fcn.10116880
add esp, 0xc
push 0x103
lea edx, [esp + 0x37d]
push 0
push edx
mov byte [esp + 0x384], 0
call fcn.10116880
add esp, 0xc
cmp byte [esp + 0x60], 0
lea eax, [esp + 0x60]
je 0x10034cfa
inc eax
cmp byte [eax], 0
jne 0x10034cf4
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x60]
sub eax, ecx
lea edx, [esp + eax + 0x168]
push edx
push esi
call edi
push esi
call fcn.100454f0
add esp, 4
push esi
lea ebx, [esi + 0x5d5]
push ebx
call edi
push 0x20
lea eax, [esp + 0x274]
mov ecx, ebx
call fcn.1004ebf0
add esp, 4
mov ecx, eax
push 0x20
lea eax, [esp + 0x274]
call fcn.1004ebf0
add esp, 4
lea ebx, [esp + 0x270]
mov edi, eax
call fcn.1004ec50
cmp eax, 0xffffffff
je 0x10034d65
mov dword [esi + 0x418], eax
jmp 0x10034d6f
mov dword [esi + 0x418], 1
push 0x20
lea eax, [esp + 0x274]
mov ecx, edi
call fcn.1004ebf0
mov ebx, eax
lea eax, [esp + 0x274]
add esp, 4
push eax
call fcn.1010dc05
add esp, 4
mov dword [esi + 0x414], eax
push 0x3a
lea eax, [esp + 0x274]
mov ecx, ebx
call fcn.1004ebf0
lea ecx, [esp + 0x274]
add esp, 4
push ecx
mov ebx, eax
call fcn.1010dc05
add esp, 4
mov dword [esi + 0x420], eax
push 0x3a
lea eax, [esp + 0x274]
mov ecx, ebx
call fcn.1004ebf0
lea edx, [esp + 0x274]
add esp, 4
push edx
mov ebx, eax
call fcn.1010dc05
add esp, 4
mov dword [esi + 0x424], eax
push 0x20
lea eax, [esp + 0x274]
mov ecx, ebx
call fcn.1004ebf0
mov ebx, eax
lea eax, [esp + 0x274]
add esp, 4
push eax
call fcn.1010dc05
add esp, 4
push ebx
mov dword [esi + 0x428], eax
call fcn.1010dc05
movzx ecx, word [esi + 0x414]
movzx edx, word [esi + 0x418]
mov dword [esi + 0x41c], eax
movzx eax, ax
mov word [esp + 0x2e], cx
movzx ecx, word [esi + 0x420]
mov word [esp + 0x2a], dx
movzx edx, word [esi + 0x424]
mov word [esp + 0x28], ax
movzx eax, word [esi + 0x428]
add esp, 4
mov word [esp + 0x2c], cx
mov word [esp + 0x2e], dx
mov word [esp + 0x30], ax
call fcn.1004ecf0
push 0x104
test eax, eax
jne 0x10034e90
lea ecx, [esp + 0x484]
push ecx
push str.dd_MMM_yyyy
lea edx, [esp + 0x30]
push edx
jmp 0x10034ea2
lea eax, [esp + 0x484]
push eax
push str.yyyy_MM_dd
lea ecx, [esp + 0x30]
push ecx
push 0
push ecx
call fcn.10037980
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetDateFormatA]
push 0x104
lea edx, [esp + 0x37c]
push edx
push str.HH:mm
lea eax, [esp + 0x30]
push eax
push 0
push ecx
call fcn.10037980
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeFormatA]
lea ecx, [esp + 0x378]
push ecx
lea edx, [esp + 0x484]
push edx
lea eax, [esi + 0x63c]
push str._s__s
push eax
call fcn.1010d6a8
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
add esp, 0x10
jmp 0x100351fa
push str.Signature_number:
lea ecx, [esp + 0x64]
push ecx
call edi
cmp byte [esp + 0x60], 0
lea eax, [esp + 0x60]
je 0x10034f29
inc eax
cmp byte [eax], 0
jne 0x10034f23
lea edx, [esp + 0x60]
sub eax, edx
push eax
mov eax, edx
lea ecx, [esp + 0x16c]
call fcn.100318e0
add esp, 4
test eax, eax
lea eax, [esp + 0x60]
jne 0x10034f6f
cmp byte [esp + 0x60], 0
je 0x10034f56
inc eax
cmp byte [eax], 0
jne 0x10034f50
lea ecx, [esp + 0x60]
sub eax, ecx
lea edx, [esp + eax + 0x168]
lea ebx, [esi + 0x104]
push edx
jmp 0x100351ee
push str.Update_time_GMT:
push eax
call edi
cmp byte [esp + 0x60], 0
lea eax, [esp + 0x60]
je 0x10034f88
inc eax
cmp byte [eax], 0
jne 0x10034f82
lea ecx, [esp + 0x60]
sub eax, ecx
push eax
mov eax, ecx
lea ecx, [esp + 0x16c]
call fcn.100318e0
add esp, 4
test eax, eax
lea eax, [esp + 0x60]
jne 0x10035194
cmp byte [esp + 0x60], 0
je 0x10034fb9
inc eax
cmp byte [eax], 0
jne 0x10034fb3
lea edx, [esp + 0x60]
sub eax, edx
lea eax, [esp + eax + 0x168]
push eax
lea ebx, [esi + 0x208]
push ebx
call edi
push ebx
call fcn.100454f0
add esp, 4
cmp byte [ebx], 0
je 0x100351fa
xor eax, eax
xor edx, edx
push 0x103
mov dword [esp + 0x3e], eax
mov dword [esp + 0x42], eax
mov dword [esp + 0x46], eax
mov word [esp + 0x4a], ax
mov dword [esp + 0x1a], eax
mov dword [esp + 0x1e], eax
mov dword [esp + 0x22], eax
mov word [esp + 0x26], ax
xor ecx, ecx
push edx
lea eax, [esp + 0x7a1]
push eax
mov word [esp + 0x44], cx
mov word [esp + 0x20], dx
mov byte [esp + 0x7a4], cl
call fcn.10116880
add esp, 0xc
push 0x103
lea ecx, [esp + 0x275]
push 0
push ecx
mov byte [esp + 0x27c], 0
call fcn.10116880
add esp, 0xc
push 0x103
lea edx, [esp + 0x485]
push 0
push edx
mov byte [esp + 0x48c], 0
call fcn.10116880
add esp, 0xc
push 0x103
lea eax, [esp + 0x37d]
push 0
push eax
mov byte [esp + 0x384], 0
call fcn.10116880
add esp, 0xc
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x274]
push edx
push ebx
call fcn.1010dbef
cdq
add esp, 4
push edx
push eax
lea edx, [esp + 0x48]
lea ecx, [esp + 0x7a8]
call fcn.10045af0
movzx eax, word [esp + 0x26]
movzx ecx, word [esp + 0x2a]
movzx edx, word [esp + 0x24]
mov dword [esi + 0x418], eax
movzx eax, word [esp + 0x2c]
mov dword [esi + 0x414], ecx
movzx ecx, word [esp + 0x2e]
mov dword [esi + 0x41c], edx
movzx edx, word [esp + 0x30]
add esp, 0x10
mov dword [esi + 0x420], eax
mov dword [esi + 0x424], ecx
mov dword [esi + 0x428], edx
call fcn.1004ecf0
push 0x104
test eax, eax
jne 0x1003511e
lea eax, [esp + 0x484]
push eax
push str.dd_MMM_yyyy
lea ecx, [esp + 0x20]
push ecx
jmp 0x10035130
lea edx, [esp + 0x484]
push edx
push str.yyyy_MM_dd
lea eax, [esp + 0x20]
push eax
push 0
push ecx
call fcn.10037980
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetDateFormatA]
push 0x104
lea ecx, [esp + 0x37c]
push ecx
push str.HH:mm
lea edx, [esp + 0x20]
push edx
push 0
push ecx
call fcn.10037980
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeFormatA]
lea eax, [esp + 0x378]
push eax
lea ecx, [esp + 0x484]
push ecx
lea edx, [esi + 0x63c]
push str._s__s
push edx
call fcn.1010d6a8
add esp, 0x10
jmp 0x100351fa
push str.Version:
push eax
call edi
cmp byte [esp + 0x60], 0
lea eax, [esp + 0x60]
je 0x100351ad
inc eax
cmp byte [eax], 0
jne 0x100351a7
lea ecx, [esp + 0x60]
sub eax, ecx
push eax
mov eax, ecx
lea ecx, [esp + 0x16c]
call fcn.100318e0
add esp, 4
test eax, eax
jne 0x100351fa
cmp byte [esp + 0x60], 0
lea eax, [esp + 0x60]
je 0x100351da
inc eax
cmp byte [eax], 0
jne 0x100351d4
lea edx, [esp + 0x60]
sub eax, edx
lea eax, [esp + eax + 0x168]
lea ebx, [esi + 0x30c]
push eax
push ebx
call edi
push ebx
call fcn.100454f0
add esp, 4
mov eax, dword [esp + 0x10]
push 0x103
lea ecx, [esp + 0x16c]
call fcn.10046580
add esp, 4
test eax, eax
jne 0x10034c01
mov ecx, dword [esp + 0x10]
push ecx
call fcn.1010f263
add esp, 4
cmp dword [0x101936e8], 0
je 0x1003523f
push str._BDF__IsBDFilesPresent:_TRUE_
push 0
call fcn.10053700
add esp, 8
mov ecx, dword [esp + 0x8a4]
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 1
call fcn.1010d699
mov esp, ebp
pop ebp
ret 4