Function at 0x1009c4ec
Capabilities:
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x6d
push 0
push 0
dec ecx
jne 0x1009c4f4
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x1009d5a1
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x1009d4c5
push dword fs:[edx]
mov dword fs:[edx], esp
call fcn.100979a8
mov dl, 1
mov eax, dword [0x1001a150]
call fcn.1001e9f4
mov dword [ebp - 4], eax
mov dl, 1
mov eax, dword [0x1001a150]
call fcn.1001e9f4
mov dword [ebp - 8], eax
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.1001dfbc
mov dl, 1
mov eax, dword [ebp - 8]
call fcn.1001dfbc
lea edx, [ebp - 0x28c]
xor eax, eax
call fcn.10003388
mov eax, dword [ebp - 0x28c]
lea edx, [ebp - 0x288]
call fcn.1000c088
mov edx, dword [ebp - 0x288]
lea eax, [ebp - 0x24]
mov ecx, 0x1009d5c0
call fcn.10005dfc
mov eax, dword [ebp - 0x24]
call fcn.1000bc1c
test al, al
je 0x1009c59c
mov eax, dword [ebp - 0x24]
call fcn.100059cc
push eax
call sub.kernel32.dll_DeleteFileW
xor eax, eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
je 0x1009c5b4
mov edx, 0x1009d5ec
mov eax, dword [ebp - 0x50]
call fcn.1005ff88
cmp dword [ebp - 0x50], 0
je 0x1009c5c7
mov edx, 0x1009d5ec
mov eax, dword [ebp - 0x50]
call fcn.1005ff88
cmp dword [ebp - 0x50], 0
je 0x1009c5da
mov edx, 0x1009d604
mov eax, dword [ebp - 0x50]
call fcn.1005ff88
mov edx, 0x1009d628
mov eax, 0x1009d604
call fcn.1009787c
xor eax, eax
mov dword [ebp - 0x28], eax
mov edx, 0x1009d628
mov eax, 0x1009d660
call fcn.1009787c
mov eax, dword [ebp + 0x10]
call fcn.1009ba9c
mov edx, 0x1009d628
mov eax, 0x1009d690
call fcn.1009787c
mov eax, dword [ebp + 0x10]
call fcn.1009bbc0
mov edx, 0x1009d628
mov eax, 0x1009d6cc
call fcn.1009787c
cmp dword [0x100b199c], 0
jne 0x1009c645
mov dl, 1
mov eax, dword [0x1001a150]
call fcn.1001e9f4
mov dword [0x100b199c], eax
cmp dword [0x100b19a0], 0
jne 0x1009c65f
mov dl, 1
mov eax, dword [0x1001a150]
call fcn.1001e9f4
mov dword [0x100b19a0], eax
cmp dword [0x100b19a8], 0
jne 0x1009c679
mov dl, 1
mov eax, dword [0x1001a150]
call fcn.1001e9f4
mov dword [0x100b19a8], eax
cmp dword [0x100b19ac], 0
jne 0x1009c693
mov dl, 1
mov eax, dword [0x1001a150]
call fcn.1001e9f4
mov dword [0x100b19ac], eax
mov eax, dword [0x100b199c]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [0x100b19a0]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [0x100b19a8]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [0x100b19ac]
mov edx, dword [eax]
call dword [edx + 0x44]
mov dl, 1
mov eax, dword [0x1001a150]
call fcn.1001e9f4
mov dword [0x100b19b4], eax
mov dl, 1
mov eax, dword [0x1001a150]
call fcn.1001e9f4
mov dword [0x100b19bc], eax
mov dl, 1
mov eax, dword [0x1001a150]
call fcn.1001e9f4
mov dword [0x100b19b8], eax
mov dl, 1
mov eax, dword [0x1001a150]
call fcn.1001e9f4
mov dword [0x100b19c4], eax
mov eax, dword [0x100b19c4]
mov byte [eax + 0x29], 0
mov dl, 1
mov eax, dword [0x100b19c4]
call fcn.1001e7e0
mov dl, 1
mov eax, dword [0x1001a150]
call fcn.1001e9f4
mov dword [0x100b19c0], eax
mov edx, 0x1009d628
mov eax, 0x1009d708
call fcn.1009787c
mov eax, dword [ebp + 0x10]
call fcn.1009ab54
mov edx, 0x1009d628
mov eax, 0x1009d73c
call fcn.1009787c
mov dl, 1
mov eax, dword [0x1001a150]
call fcn.1001e9f4
mov dword [0x100b19c8], eax
push 0
push 0x1a
lea eax, [ebp - 0x282]
push eax
push 0
call sub.shell32.dll_SHGetSpecialFolderPathW
xor eax, eax
push ebp
push 0x1009c7c9
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x290]
call fcn.10048004
lea eax, [ebp - 0x290]
mov edx, 0x1009d77c
call fcn.10005d3c
mov ecx, dword [ebp - 0x290]
mov dl, 1
mov eax, dword [0x100473cc]
call fcn.10047a00
mov dword [ebp - 0x48], eax
mov ecx, dword [0x100b19c8]
mov edx, 0x1009d7b4
mov eax, dword [ebp - 0x48]
mov ebx, dword [eax]
call dword [ebx + 0x4c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x1009c7d8
call fcn.1009a3bc
mov dword [ebp - 0x58], eax
mov dl, 1
mov eax, dword [0x1001a150]
call fcn.1001e9f4
mov dword [ebp - 0x5c], eax
mov dl, 1
mov eax, dword [0x1001a150]
call fcn.1001e9f4
mov dword [ebp - 0x60], eax
mov dl, 1
mov eax, dword [0x1001a150]
call fcn.1001e9f4
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x64]
mov edx, 0x1009d7d0
mov eax, dword [ebp - 0x58]
mov ebx, dword [eax]
call dword [ebx + 0x40]
mov ecx, dword [ebp - 0x60]
mov edx, 0x1009d7f4
mov eax, dword [ebp - 0x58]
mov ebx, dword [eax]
call dword [ebx + 0x40]
mov ecx, dword [ebp - 0x5c]
mov edx, 0x1009d820
mov eax, dword [ebp - 0x58]
mov ebx, dword [eax]
call dword [ebx + 0x40]
lea edx, [ebp - 0x298]
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x298]
lea edx, [ebp - 0x294]
call fcn.1000acb8
mov edx, dword [ebp - 0x294]
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0x2a0]
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x2a0]
lea edx, [ebp - 0x29c]
call fcn.1000acb8
mov edx, dword [ebp - 0x29c]
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0x2a8]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x2a8]
lea edx, [ebp - 0x2a4]
call fcn.1000acb8
mov edx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [0x100b1998]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x2b0]
call fcn.1000b568
mov ecx, dword [ebp - 0x2b0]
lea eax, [ebp - 0x2ac]
mov edx, 0x1009d844
call fcn.10005dfc
mov eax, dword [ebp - 0x2ac]
mov edx, 0x1009d628
call fcn.1009787c
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [0x100b1998]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x1009d356
inc eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x2c], 0
cmp dword [ebp + 0x10], 0
je 0x1009c934
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
jne 0x1009d356
mov byte [ebp - 0x35], 0
mov byte [ebp - 0x36], 0
mov byte [ebp - 0x37], 0
mov byte [ebp - 0x39], 0
lea ecx, [ebp - 0x2b4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x100b1998]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x2b4]
lea edx, [ebp - 0xc]
call fcn.10055970
mov byte [ebp - 0x51], 0
lea ecx, [ebp - 0x2b8]
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x100b1998]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x2b8]
lea edx, [ebp - 0x14]
call fcn.1000c35c
mov edx, dword [ebp - 0x14]
mov eax, 0x1009d87c
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009d8b4
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009d8d4
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009d8fc
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009d928
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009d94c
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009d974
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009d99c
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009d9c0
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009d9e4
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009da08
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009da2c
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009da50
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009da78
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009da9c
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009dac4
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009daec
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009db14
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009db3c
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009db64
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009db8c
call fcn.1000af94
test al, al
jne 0x1009cb38
mov edx, dword [ebp - 0x14]
mov eax, 0x1009dbb8
call fcn.1000af94
test al, al
je 0x1009cb3c
mov byte [ebp - 0x51], 1
mov edx, dword [ebp - 0x14]
mov eax, 0x1009dbe8
call fcn.1000af94
test al, al
jne 0x1009cb5e
mov edx, dword [ebp - 0x14]
mov eax, 0x1009dc14
call fcn.1000af94
test al, al
je 0x1009cb62
mov byte [ebp - 0x51], 1
lea ecx, [ebp - 0x2bc]
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x100b1998]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0x2bc]
mov dl, 1
mov eax, dword [0x1005dc14]
call fcn.1005de04
mov ebx, eax
lea edx, [ebp - 0x10]
mov eax, ebx
call fcn.1005e1bc
lea edx, [ebp - 0x18]
mov eax, ebx
call fcn.1005e178
lea edx, [ebp - 0x1c]
mov eax, ebx
call fcn.1005e23c
lea edx, [ebp - 0x20]
mov eax, ebx
call fcn.1005e200
mov eax, ebx
call fcn.10003d38
mov byte [ebp - 0x49], 0
mov edx, 0x1009dc38
mov eax, dword [ebp - 0x20]
call fcn.1000af94
test al, al
je 0x1009cbd1
mov byte [ebp - 0x49], 1
mov edx, 0x1009dc4c
mov eax, dword [ebp - 0x20]
call fcn.1000af94
test al, al
je 0x1009cbe6
mov byte [ebp - 0x49], 1
mov edx, 0x1009dc64
mov eax, dword [ebp - 0x20]
call fcn.1000af94
test al, al
je 0x1009cbfb
mov byte [ebp - 0x49], 1
mov edx, 0x1009dc84
mov eax, dword [ebp - 0x20]
call fcn.1000af94
test al, al
je 0x1009cc10
mov byte [ebp - 0x49], 1
mov edx, 0x1009dca8
mov eax, dword [ebp - 0x20]
call fcn.1000af94
test al, al
je 0x1009cc25
mov byte [ebp - 0x49], 1
mov edx, 0x1009dcc8
mov eax, dword [ebp - 0x20]
call fcn.1000af94
test al, al
je 0x1009cc3a
mov byte [ebp - 0x49], 1
mov edx, 0x1009dce4
mov eax, dword [ebp - 0x20]
call fcn.1000af94
test al, al
je 0x1009cc4f
mov byte [ebp - 0x49], 1
mov edx, 0x1009dd08
mov eax, dword [ebp - 0x20]
call fcn.1000af94
test al, al
je 0x1009cc64
mov byte [ebp - 0x49], 1
mov edx, 0x1009dd28
mov eax, dword [ebp - 0x20]
call fcn.1000af94
test al, al
je 0x1009cc79
mov byte [ebp - 0x49], 1
mov edx, 0x1009dd54
mov eax, dword [ebp - 0x20]
call fcn.1000af94
test al, al
je 0x1009cc8e
mov byte [ebp - 0x49], 1
mov edx, 0x1009dd78
mov eax, dword [ebp - 0x20]
call fcn.1000af94
test al, al
je 0x1009cca3
mov byte [ebp - 0x49], 1
mov edx, 0x1009dd8c
mov eax, dword [ebp - 0x20]
call fcn.1000af94
test al, al
je 0x1009ccb8
mov byte [ebp - 0x49], 1
mov edx, 0x1009ddac
mov eax, dword [ebp - 0x20]
call fcn.1000af94
test al, al
je 0x1009cccd
mov byte [ebp - 0x49], 1
lea edx, [ebp - 0x2c0]
mov eax, dword [ebp - 0x20]
call fcn.1000acb8
mov eax, dword [ebp - 0x2c0]
push eax
lea edx, [ebp - 0x2c4]
mov eax, 0x1009ddd8
call fcn.1000acb8
mov eax, dword [ebp - 0x2c4]
pop edx
call fcn.100063ec
test eax, eax
jle 0x1009cd06
mov byte [ebp - 0x49], 1
lea edx, [ebp - 0x2c8]
mov eax, dword [ebp - 0x1c]
call fcn.1000acb8
mov eax, dword [ebp - 0x2c8]
push eax
lea edx, [ebp - 0x2cc]
mov eax, 0x1009ddf8
call fcn.1000acb8
mov eax, dword [ebp - 0x2cc]
pop edx
call fcn.100063ec
test eax, eax
jle 0x1009cd3f
mov byte [ebp - 0x49], 1
lea edx, [ebp - 0x2d0]
mov eax, dword [ebp - 0x1c]
call fcn.1000acb8
mov eax, dword [ebp - 0x2d0]
push eax
lea edx, [ebp - 0x2d4]
mov eax, 0x1009de1c
call fcn.1000acb8
mov eax, dword [ebp - 0x2d4]
pop edx
call fcn.100063ec
test eax, eax
jle 0x1009cd78
mov byte [ebp - 0x49], 1
lea edx, [ebp - 0x2d8]
mov eax, dword [ebp - 0x1c]
call fcn.1000acb8
mov eax, dword [ebp - 0x2d8]
push eax
lea edx, [ebp - 0x2dc]
mov eax, 0x1009de34
call fcn.1000acb8
mov eax, dword [ebp - 0x2dc]
pop edx
call fcn.100063ec
test eax, eax
jle 0x1009cdb1
mov byte [ebp - 0x49], 1
lea edx, [ebp - 0x2e0]
mov eax, dword [ebp - 0x1c]
call fcn.1000acb8
mov eax, dword [ebp - 0x2e0]
push eax
lea edx, [ebp - 0x2e4]
mov eax, 0x1009de4c
call fcn.1000acb8
mov eax, dword [ebp - 0x2e4]
pop edx
call fcn.100063ec
test eax, eax
jle 0x1009cdea
mov byte [ebp - 0x49], 1
lea edx, [ebp - 0x2e8]
mov eax, dword [ebp - 0x1c]
call fcn.1000acb8
mov eax, dword [ebp - 0x2e8]
push eax
lea edx, [ebp - 0x2ec]
mov eax, 0x1009de6c
call fcn.1000acb8
mov eax, dword [ebp - 0x2ec]
pop edx
call fcn.100063ec
test eax, eax
jle 0x1009ce23
mov byte [ebp - 0x49], 1
lea edx, [ebp - 0x2f0]
mov eax, dword [ebp - 0x1c]
call fcn.1000acb8
mov eax, dword [ebp - 0x2f0]
push eax
lea edx, [ebp - 0x2f4]
mov eax, 0x1009dea4
call fcn.1000acb8
mov eax, dword [ebp - 0x2f4]
pop edx
call fcn.100063ec
test eax, eax
jle 0x1009ce5c
mov byte [ebp - 0x49], 1
lea edx, [ebp - 0x2f8]
mov eax, dword [ebp - 0x1c]
call fcn.1000acb8
mov eax, dword [ebp - 0x2f8]
push eax
lea edx, [ebp - 0x2fc]
mov eax, 0x1009dec4
call fcn.1000acb8
mov eax, dword [ebp - 0x2fc]
pop edx
call fcn.100063ec
test eax, eax
jle 0x1009ce95
mov byte [ebp - 0x49], 1
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 0xc]
mov eax, dword [0x100b19b4]
mov ebx, dword [eax]
call dword [ebx + 0x9c]
test al, al
je 0x1009ceb0
mov byte [ebp - 0x35], 1
mov eax, dword [0x100b19b8]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 2
jle 0x1009ceed
xor ebx, ebx
lea ecx, [ebp - 0x300]
mov edx, ebx
mov eax, dword [0x100b19b8]
call fcn.1001d1c8
mov eax, dword [ebp - 0x300]
mov edx, dword [ebp - 0x10]
call fcn.100060cc
jne 0x1009cee7
mov byte [ebp - 0x36], 1
inc ebx
cmp ebx, 2
jne 0x1009cec1
cmp byte [ebp - 0x36], 0
jne 0x1009cf67
mov eax, dword [0x100b19c4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x1009cf67
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x304]
mov edx, ebx
mov eax, dword [0x100b19c4]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x304]
mov edx, dword [ebp - 0x10]
call fcn.100060cc
jne 0x1009cf2d
mov byte [ebp - 0x36], 1
cmp byte [ebp - 0x36], 0
jne 0x1009cf67
push ebp
lea ecx, [ebp - 0x308]
mov edx, ebx
mov eax, dword [0x100b19c4]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x308]
mov edx, dword [ebp - 0x10]
call fcn.1009c1d0
pop ecx
test al, al
je 0x1009cf5d
mov byte [ebp - 0x36], 1
cmp byte [ebp - 0x36], 0
jne 0x1009cf67
inc ebx
dec esi
jne 0x1009cf07
mov eax, dword [0x100b19c0]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 2
jle 0x1009cfa4
xor ebx, ebx
lea ecx, [ebp - 0x30c]
mov edx, ebx
mov eax, dword [0x100b19c0]
call fcn.1001d1c8
mov eax, dword [ebp - 0x30c]
mov edx, dword [ebp - 0x18]
call fcn.100060cc
jne 0x1009cf9e
mov byte [ebp - 0x39], 1
inc ebx
cmp ebx, 2
jne 0x1009cf78
mov eax, dword [0x100b19bc]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
jle 0x1009cfdf
xor ebx, ebx
lea ecx, [ebp - 0x310]
mov edx, ebx
mov eax, dword [0x100b19bc]
call fcn.1001d1c8
mov eax, dword [ebp - 0x310]
mov edx, dword [ebp - 0x1c]
call fcn.100060cc
jne 0x1009cfd9
mov byte [ebp - 0x37], 1
inc ebx
cmp ebx, 2
jne 0x1009cfb3
mov byte [ebp - 0x38], 0
mov eax, dword [0x100b19c8]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x1009d021
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x314]
mov edx, ebx
mov eax, dword [0x100b19c8]
call fcn.1001d1c8
mov edx, dword [ebp - 0x314]
mov eax, dword [ebp - 0xc]
call fcn.100060cc
jne 0x1009d01d
mov byte [ebp - 0x38], 1
inc ebx
dec esi
jne 0x1009cff7
or ebx, 0xffffffff
movzx eax, byte [ebp - 0x35]
or al, byte [ebp - 0x36]
jne 0x1009d04f
cmp byte [ebp - 0x39], 0
jne 0x1009d04f
cmp byte [ebp - 0x37], 0
jne 0x1009d04f
cmp byte [ebp - 0x38], 0
jne 0x1009d04f
cmp byte [ebp - 0x49], 0
jne 0x1009d04f
cmp byte [ebp - 0x51], 0
jne 0x1009d04f
xor eax, eax
jmp 0x1009d051
mov al, 1
cmp al, 1
je 0x1009d076
mov eax, dword [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x58]
call fcn.1009a650
mov byte [ebp - 0x49], al
movzx eax, byte [ebp - 0x35]
or al, byte [ebp - 0x36]
jne 0x1009d0a1
cmp byte [ebp - 0x39], 0
jne 0x1009d0a1
cmp byte [ebp - 0x37], 0
jne 0x1009d0a1
cmp byte [ebp - 0x38], 0
jne 0x1009d0a1
cmp byte [ebp - 0x49], 0
jne 0x1009d0a1
cmp byte [ebp - 0x51], 0
jne 0x1009d0a1
xor eax, eax
jmp 0x1009d0a3
mov al, 1
cmp al, 1
je 0x1009d2a8
lea ecx, [ebp - 0x31c]
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x100b1998]
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x31c]
push 0x1009dee4
push dword [ebp - 0xc]
push 0x1009def4
push dword [ebp - 0x10]
push 0x1009def4
push dword [ebp - 0x18]
push 0x1009def4
push dword [ebp - 0x1c]
push 0x1009def4
push dword [ebp - 0x20]
push 0x1009def4
lea eax, [ebp - 0x318]
mov edx, 0xc
call fcn.10005ee0
mov eax, dword [ebp - 0x318]
mov edx, 0x1009d628
call fcn.1009787c
xor ebx, ebx
mov dl, 1
mov eax, dword [0x1001a150]
call fcn.1001e9f4
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
push 1
lea ecx, [ebp - 0x324]
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x100b1998]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x324]
lea edx, [ebp - 0x320]
call fcn.1000c088
mov edx, dword [ebp - 0x320]
xor ecx, ecx
mov eax, dword [ebp + 0x10]
call fcn.1009b4e8
mov eax, dword [ebp - 0x44]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x1009d197
inc esi
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x328]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x328]
call fcn.1003dcfc
add ebx, eax
inc dword [ebp - 0x30]
dec esi
jne 0x1009d173
mov eax, dword [ebp - 0x44]
call fcn.10003d38
inc dword [ebp - 0x34]
lea ecx, [ebp - 0x32c]
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x100b1998]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x32c]
call fcn.1009bed0
add ebx, eax
lea ecx, [ebp - 0x330]
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x100b1998]
mov esi, dword [eax]
call dword [esi + 0xc]
mov edx, dword [ebp - 0x330]
mov eax, dword [0x100b199c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x334]
mov eax, ebx
call fcn.1000b568
mov edx, dword [ebp - 0x334]
mov eax, dword [0x100b19a0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
cmp dword [ebp - 0x50], 0
je 0x1009d257
lea ecx, [ebp - 0x33c]
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x100b1998]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0x33c]
push 0x1009df04
lea edx, [ebp - 0x340]
mov eax, ebx
call fcn.1000b568
push dword [ebp - 0x340]
lea eax, [ebp - 0x338]
mov edx, 3
call fcn.10005ee0
mov edx, dword [ebp - 0x338]
mov eax, dword [ebp - 0x50]
call fcn.1005ff88
lea ecx, [ebp - 0x348]
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x100b1998]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0x348]
push 0x1009df04
lea edx, [ebp - 0x34c]
mov eax, ebx
call fcn.1000b568
push dword [ebp - 0x34c]
lea eax, [ebp - 0x344]
mov edx, 3
call fcn.10005ee0
mov eax, dword [ebp - 0x344]
mov edx, 0x1009d628
call fcn.1009787c
mov eax, dword [0x100b1998]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
push eax
imul eax, dword [ebp - 0x2c], 0x64
pop edx
mov ecx, edx
cdq
idiv ecx
mov esi, eax
push 1
push ebx
lea ecx, [ebp - 0x350]
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x100b1998]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x350]
call fcn.100059cc
push eax
push esi
mov eax, dword [ebp + 0xc]
push eax
call dword [ebp + 8]
dec eax
jne 0x1009d34a
cmp dword [0x100b199c], 0
je 0x1009d300
mov eax, dword [0x100b199c]
call fcn.10003d38
cmp dword [0x100b1998], 0
je 0x1009d313
mov eax, dword [0x100b1998]
call fcn.10003d38
cmp dword [0x100b19a0], 0
je 0x1009d326
mov eax, dword [0x100b19a0]
call fcn.10003d38
cmp dword [ebp - 0x50], 0
je 0x1009d339
mov edx, 0x1009df40
mov eax, dword [ebp - 0x50]
call fcn.1005ff88
mov edx, 0x1009d628
mov eax, 0x1009df74
call fcn.1009787c
jmp 0x1009d356
inc dword [ebp - 0x2c]
dec dword [ebp - 0x68]
jne 0x1009c922
lea edx, [ebp - 0x358]
mov eax, dword [ebp - 0x34]
call fcn.1000b568
mov ecx, dword [ebp - 0x358]
lea eax, [ebp - 0x354]
mov edx, 0x1009dfa8
call fcn.10005dfc
mov eax, dword [ebp - 0x354]
mov edx, 0x1009d628
call fcn.1009787c
cmp dword [0x100b19c8], 0
je 0x1009d39d
mov eax, dword [0x100b19c8]
call fcn.10003d38
cmp dword [0x100b19b4], 0
je 0x1009d3b0
mov eax, dword [0x100b19b4]
call fcn.10003d38
cmp dword [0x100b19b8], 0
je 0x1009d3c3
mov eax, dword [0x100b19b8]
call fcn.10003d38
cmp dword [0x100b19bc], 0
je 0x1009d3d6
mov eax, dword [0x100b19bc]
call fcn.10003d38
cmp dword [0x100b19c0], 0
je 0x1009d3e9
mov eax, dword [0x100b19c0]
call fcn.10003d38
cmp dword [0x100b19c4], 0
je 0x1009d3fc
mov eax, dword [0x100b19c4]
call fcn.10003d38
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x6c]
call fcn.10003d38
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x70], eax
xor eax, eax
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x70]
call fcn.10003d38
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x74], eax
xor eax, eax
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x74]
call fcn.10003d38
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x78], eax
xor eax, eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x78]
call fcn.10003d38
xor eax, eax
push ebp
push 0x1009d46e
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0x48], 0
je 0x1009d464
mov eax, dword [ebp - 0x48]
call fcn.10003d38
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x1009d478
cmp dword [ebp - 0x50], 0
je 0x1009d48b
mov edx, 0x1009dfec
mov eax, dword [ebp - 0x50]
call fcn.1005ff88
cmp dword [ebp - 0x50], 0
je 0x1009d499
mov eax, dword [ebp - 0x50]
call fcn.10003d38
mov eax, dword [ebp - 4]
call fcn.10003d38
mov eax, dword [ebp - 8]
call fcn.10003d38
mov edx, 0x1009d628
mov eax, 0x1009dfec
call fcn.1009787c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x1009d576
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x1009d5a8
lea eax, [ebp - 0x368]
mov edx, 0x39
call fcn.10005938
lea eax, [ebp - 0x24]
mov edx, 7
call fcn.10005938
ret