Function at 0x10021f40
Capabilities:
Create directory
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x244
mov edx, dword [ebp + 0xc]
push ebx
lea ecx, [eax + 0xff1]
push esi
push edi
mov edi, eax
mov dword [esp + 0x14], ecx
cmp eax, ecx
ja 0x100222bb
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
jmp 0x10021f73
mov edx, dword [ebp + 0xc]
cmp edi, 0x4511
ja 0x10022111
je 0x100220fd
cmp edi, 0x4343
ja 0x10022082
je 0x10022073
cmp edi, 0xd3c
ja 0x1002202a
je 0x10022006
mov eax, edi
sub eax, 0x427
je 0x10021fbc
sub eax, 0x4d
je 0x100222bb
jmp 0x1002228d
mov edx, dword [edx]
cmp edx, 0xffff4f0b
jne 0x10021ff7
mov ecx, 0x3ad0
jmp 0x10021fd0
mov eax, ecx
sub eax, 0x3ad0
je 0x10021fe4
sub eax, 0x15
je 0x100222bb
jmp 0x10021fec
mov dword [esp + 0x10], 0xffff4f0b
add ecx, 0x15
cmp ecx, 0x3ae5
jbe 0x10021fd0
add edx, 0x96
mov dword [esp + 0x10], edx
jmp 0x1002228d
test edx, edx
jne 0x1002228d
mov eax, 0xefe
cmp eax, eax
je 0x100222a5
add eax, 0x4e
cmp eax, 0xefe
jbe 0x10022015
jmp 0x1002228d
cmp edi, 0xd89
je 0x1002204d
cmp edi, 0x42f6
jne 0x1002228d
mov eax, 0x62
mov word [esp + 0x28], ax
jmp 0x1002228d
mov eax, 0x3544
cmp eax, eax
je 0x100222b5
add eax, 0x56
cmp eax, 0x3544
jbe 0x10022054
xor esi, esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
jmp 0x1002228d
mov ecx, 0x69
mov word [esp + 0x2a], cx
jmp 0x1002228d
cmp edi, 0x442a
ja 0x100220cf
je 0x100220c2
mov eax, edi
sub eax, 0x4390
je 0x100220ab
sub eax, 0x4d
jne 0x1002228d
mov dword [esp + 0x32], 0x740072
jmp 0x1002228d
mov ecx, 0x6f
mov word [esp + 0x2c], cx
mov dword [esp + 0x2e], 0x65006d
jmp 0x1002228d
mov dword [esp + 0x36], 0x630069
jmp 0x1002228d
mov eax, edi
sub eax, 0x4477
je 0x100220f0
sub eax, 0x4d
jne 0x1002228d
mov ecx, 0x65
mov word [esp + 0x3e], cx
jmp 0x1002228d
mov dword [esp + 0x3a], 0x74005f
jmp 0x1002228d
xor ecx, ecx
mov dword [esp + 0x40], 0x680063
mov word [esp + 0x44], cx
jmp 0x1002228d
cmp edi, 0x46df
ja 0x1002220b
je 0x100221f3
cmp edi, 0x45f8
ja 0x10022187
je 0x10022158
mov eax, edi
sub eax, 0x455e
je 0x10022064
sub eax, 0x4d
jne 0x1002228d
lea edx, [esp + 0x50]
push edx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
jmp 0x1002228d
mov eax, dword [esp + 0x20]
push eax
push esi
call dword [sym.imp.USER32.dll_WindowFromPoint]
mov dword [esp + 0x18], eax
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0x28]
mov word [esp + eax + 0x50], cx
add eax, 2
test cx, cx
jne 0x10022170
jmp 0x1002228d
mov eax, edi
sub eax, 0x4645
je 0x100221e1
sub eax, 0x4d
jne 0x1002228d
test ebx, ebx
je 0x100221cf
mov esi, 0x3ca1
mov eax, esi
sub eax, 0x3ca1
je 0x100221b4
sub eax, 0x5b
jne 0x100221c0
xor ebx, ebx
jmp 0x100221c0
mov ecx, dword [esp + 0x18]
push ebx
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
add esi, 0x5b
cmp esi, 0x3cfc
jbe 0x100221a2
mov esi, dword [esp + 0x1c]
push 0
lea edx, [esp + 0x54]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
jmp 0x1002228d
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov ebx, eax
jmp 0x1002228d
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx], 0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
jmp 0x1002228d
cmp edi, 0x47c6
ja 0x10022272
je 0x1002224a
mov eax, edi
sub eax, 0x472c
je 0x10022237
sub eax, 0x4d
jne 0x1002228d
mov edx, dword [esp + 0x24]
push edx
push eax
lea eax, [esp + 0x50]
push eax
push ebx
call dword [sym.imp.GDI32.dll_PolyPolyline]
jmp 0x1002228d
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0
mov dword [esp + 0x24], 0
jmp 0x1002228d
mov ecx, 0x52d9
nop
mov eax, ecx
sub eax, 0x52d9
je 0x10022260
sub eax, 0x35
je 0x100222bb
jmp 0x10022265
mov byte [esp + 0x10], 1
add ecx, 0x35
cmp ecx, 0x530e
jbe 0x10022250
jmp 0x1002227a
cmp edi, 0x648a
jne 0x1002228d
mov edx, dword [ebp + 0xc]
push 0x800
push 0
push edx
call fcn.1002f460
add esp, 0xc
add edi, 0x4d
cmp edi, dword [esp + 0x14]
jbe 0x10021f70
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x10], 0
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [edx]
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret