Function at 0x10079610
Capabilities:
Create directory
Get common file path
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x9d0
mov esi, esp
mov eax, dword [0x100c51b8]
xor eax, ebp
mov dword [esi + 0x9c8], eax
lea eax, [ebp + 8]
mov dword [esi + 0x80], eax
lea eax, [ebp + 0x20]
mov dword [esi + 0xb8], eax
lea eax, [ebp + 0x24]
mov dword [esi + 0xbc], eax
lea eax, [ebp + 0x28]
mov dword [esi + 0xc0], eax
lea eax, [esi + 0xf4]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
xor eax, eax
push 0x400
push eax
push dword [esi + 0x68]
call fcn.1008c000
add esp, 0xc
mov dword [esi + 0xb4], esp
lea ecx, [esi + 0xd0]
mov dword [esi + 0x84], ecx
mov eax, dword [esi + 0x84]
xor edx, edx
mov dword [ecx], edx
lea ecx, [esi + 0xcc]
mov dword [esi + 0x88], ecx
mov eax, dword [esi + 0x88]
mov dword [ecx], edx
lea edi, [esi + 0xdc]
mov dword [esi + 0x8c], edi
mov eax, dword [esi + 0x8c]
mov dword [edi], edx
mov dword [edi + 0x10], edx
mov eax, 0xf
mov dword [edi + 0x14], eax
mov byte [edi], dl
sub esp, 0x1c
mov ebx, esp
mov eax, dword [esi + 0x80]
mov dword [ebx], edx
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], edx
mov ecx, ebx
push eax
call fcn.10007eb6
mov dword [esi + 0xac], esp
mov dword [ebx + 0x18], edi
sub esp, 0x28
mov edi, esp
lea ecx, [edi + 4]
mov dword [esi + 4], ecx
xor eax, eax
mov dword [edi + 4], eax
mov dword [edi + 0x14], eax
mov dword [edi + 0x18], eax
push ebx
call fcn.10007eb6
mov dword [esi + 0x64], esp
mov dword [esi + 0xb0], ebx
mov eax, dword [ebx + 0x18]
mov dword [edi], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x78], eax
lea eax, [edi + 0x1c]
mov dword [esi + 0xa0], eax
lea eax, [edi + 0x20]
mov dword [esi + 0xa4], eax
mov dword [edi + 0x1c], 0x80000000
mov dword [edi + 0x20], 1
mov dword [edi + 0x24], 3
mov dword [esi + 0x60], edi
lea eax, [edi + 0x24]
mov dword [esi + 0xa8], eax
sub esp, 0x20
mov ebx, esp
lea edi, [ebx + 4]
mov eax, dword [esi + 0x78]
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x18], ecx
mov ecx, edi
push eax
call fcn.10007eb6
lea eax, [esi + 0x4f4]
mov dword [ebx], eax
xor eax, eax
mov byte [ebx + 0x1c], al
mov dword [esi + 4], ebx
mov dword [esi + 0x30], ebx
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov dword [esi + 0x34], edi
mov eax, dword [esi + 8]
mov ecx, 0
mov dword [eax], ecx
mov dword [eax + 0x10], ecx
mov edx, 0
mov ecx, 0xf
mov dword [eax + 0x14], ecx
mov byte [eax], dl
lea eax, [esi + 0x918]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x38]
lea ecx, [esi + 0x812]
mov byte [ecx - 2], 1
mov byte [ecx - 1], 0xb
mov byte [ecx], 0x58
mov byte [ecx + 1], 0x53
mov al, 0x63
mov byte [ecx + 2], al
mov byte [ecx + 3], 0x6f
mov byte [ecx + 4], al
mov byte [ecx + 5], 0x66
mov byte [ecx + 6], 0x6c
mov byte [ecx + 7], 0x79
mov byte [ecx + 8], 0x50
mov byte [ecx + 9], 0x7e
mov byte [ecx + 0xa], 0x67
mov byte [ecx + 0xb], 0x64
mov byte [ecx + 0xc], 0x6d
mov byte [ecx + 0xd], 0x62
lea eax, [esi + 0x820]
lea ecx, [esi + 0x822]
mov dword [esi + 0x710], ecx
mov edx, 0x9e4cd24
mov ecx, 0x390de2e8
cmp edx, 0x390de2e8
je 0x10079832
cmp edx, 0x9e4cd24
jne 0x1007980e
mov byte [eax], 0
inc eax
cmp eax, dword [esi + 0x710]
mov edx, 0x9e4cd24
cmove edx, ecx
jmp 0x1007980e
lea eax, [esi + 0x810]
mov dword [esi + 0x610], eax
mov eax, dword [esi + 0x610]
mov al, byte [eax]
mov byte [esi + 0x990], al
mov edx, 0x51a51d83
mov eax, 0xcd720261
cmp edx, 0x176dc90d
jg 0x100798c9
cmp edx, 0xa3c7258e
je 0x100798fe
cmp edx, 0xa921f8a0
je 0x10079961
cmp edx, 0xcd720261
jne 0x10079856
mov edx, dword [esi + 0x9b0]
mov bl, byte [esi + edx + 0x812]
mov edi, dword [esi + 0x9b0]
mov dl, byte [esi + 0x811]
movzx ecx, dl
mov edx, 0xfe
sub edx, edi
inc edi
and edx, ecx
not ecx
and ecx, edi
or edx, ecx
xor dl, bl
xor dl, 0xe
mov ecx, dword [esi + 0x9b0]
mov byte [esi + ecx + 0x812], dl
inc dword [esi + 0x9b0]
mov edx, 0x176dc90e
jmp 0x10079856
cmp edx, 0x176dc90e
je 0x10079924
cmp edx, 0x7ad28e43
je 0x1007993a
cmp edx, 0x51a51d83
jne 0x10079856
test byte [esi + 0x990], 1
mov edx, 0xa3c7258e
mov ecx, 0xa921f8a0
cmove edx, ecx
jmp 0x10079856
lea ecx, [esi + 0x9b0]
mov dword [esi + 0x710], ecx
mov edx, dword [esi + 0x710]
mov dword [esi + 0x9b0], 0
mov edx, 0x176dc90e
jmp 0x10079856
mov edx, dword [esi + 0x9b0]
cmp edx, 0xe
mov edx, 0x7ad28e43
cmovb edx, eax
jmp 0x10079856
mov edx, dword [esi + 0x710]
mov byte [esi + 0x820], 0
mov byte [esi + 0x821], 0
mov edx, dword [esi + 0x610]
mov byte [edx], 0
mov edx, 0xa921f8a0
jmp 0x10079856
xor ebx, ebx
lea edi, [esi + 0x918]
mov dword [edi], ebx
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
lea eax, [esi + 0x812]
push eax
call fcn.1009ee80
add esp, 4
mov ecx, edi
push eax
lea eax, [esi + 0x812]
push eax
call fcn.10007b00
lea ecx, [esi + 0x50c]
mov dword [esi + 0x3c], ecx
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x20], ecx
push 0x104
push ebx
push dword [esi + 0x20]
call fcn.1008c000
add esp, 0xc
xor eax, eax
mov ecx, dword [esi + 4]
cmp byte [ecx + 0x1c], 0
sete al
lea eax, [eax + eax*8 + 0x1a]
push 1
push eax
push dword [esi + 0x20]
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
mov dword [esi + 0x7c], eax
mov eax, 0xb5396884
cmp eax, 0x1185af0e
jle 0x10079a01
cmp eax, 0x373bfcd7
jg 0x10079a2d
cmp eax, 0x1185af0f
je 0x10079b04
cmp eax, 0x293ada40
je 0x1007a188
jmp 0x100799db
cmp eax, 0xd5e5fb0a
jle 0x10079ae3
cmp eax, 0xd5e5fb0b
je 0x10079b1f
cmp eax, 0xdfcc82b
jne 0x100799db
mov ecx, dword [esi + 8]
call fcn.100087f0
mov eax, 0xaddb4c97
jmp 0x100799db
cmp eax, 0x373bfcd8
je 0x1007a192
cmp eax, 0x59daf0b3
jne 0x100799db
mov edi, dword [esi + 0x20]
xor eax, eax
mov dword [esi + 0x810], eax
mov dword [esi + 0x820], eax
mov dword [esi + 0x824], 0xf
mov byte [esi + 0x810], 0
push edi
call fcn.1009ee80
add esp, 4
lea ebx, [esi + 0x810]
mov ecx, ebx
push eax
push edi
call fcn.10007b00
mov edi, dword [esi + 8]
mov eax, dword [esi + 0x820]
mov dword [esi + 4], eax
mov ecx, ebx
call fcn.10007bca
mov ecx, edi
push dword [esi + 4]
push eax
call fcn.10008e94
mov ecx, ebx
call fcn.100087f0
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0x928]
lea ecx, [esi + 0x918]
call fcn.10007bca
mov ecx, edi
push ebx
push eax
call fcn.10008e94
mov ecx, dword [esi + 8]
call fcn.10007bca
xor ecx, ecx
push ecx
push eax
call fcn.1009a0d5
add esp, 8
test eax, eax
mov eax, 0xd5e5fb0b
mov ecx, 0x293ada40
cmove eax, ecx
jmp 0x100799db
cmp eax, 0xb5396884
jne 0x1007a1db
cmp dword [esi + 0x7c], 0
mov eax, 0x59daf0b3
mov ecx, 0x1185af0f
cmove eax, ecx
jmp 0x100799db
mov eax, dword [esi + 0x3c]
lea ecx, [esi + 0x918]
call fcn.100087f0
mov eax, dword [esi + 0x38]
mov eax, 0xaddb4c97
jmp 0x100799db
mov eax, dword [esi + 8]
mov dword [esi + 0x28], eax
lea eax, [esi + 0xd9]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
lea eax, [esi + 0x810]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x44]
lea eax, [esi + 0x710]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x48]
lea eax, [esi + 0x610]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x4c]
mov eax, 0x6b3da837
mov dword [esi + 4], ecx
cmp eax, 0xf1d28b7d
jle 0x10079be1
cmp eax, 0x67faef0c
jg 0x10079c47
cmp eax, 0x28d5f651
jle 0x10079cae
cmp eax, 0x28d5f652
je 0x10079d76
cmp eax, 0x510bea7a
je 0x10079d6c
cmp eax, 0x6426c0cd
jne 0x10079b5d
lea ecx, [esi + 0x9b0]
mov dword [esi + 0x50], ecx
mov eax, dword [esi + 0x50]
xor eax, eax
mov dword [esi + 0x9b0], eax
mov dword [esi + 0x9c0], eax
mov dword [esi + 0x9c4], eax
mov ebx, dword [esi + 0x28]
push ebx
call fcn.10007eb6
mov edi, dword [ebx + 0x10]
mov ecx, ebx
call fcn.10007bca
cmp byte [edi + eax - 1], 0x5c
mov eax, 0x6e98a490
mov ecx, 0x84634a4f
cmove eax, ecx
jmp 0x10079b5d
cmp eax, 0xb4581697
jg 0x10079c78
cmp eax, 0x92ffa589
jle 0x10079cf4
cmp eax, 0x92ffa58a
je 0x10079da6
cmp eax, 0x9aaf1636
je 0x10079dc6
cmp eax, 0xa910b0d9
jne 0x10079b5d
lea ecx, [esi + 0x948]
push 0
push 0x100be360
call fcn.1007cdfc
mov dword [esi + 0x10], eax
mov eax, 0x28d5f652
mov dword [esi + 0x2c], 0
mov cl, byte [esi + 0xd8]
mov dword [esi + 4], ecx
jmp 0x10079b5d
cmp eax, 0x6e98a48f
jle 0x10079d27
cmp eax, 0x6e98a490
je 0x10079def
cmp eax, 0x707c8f2e
je 0x10079e4d
cmp eax, 0x74d9b284
je 0x10079d6c
jmp 0x10079b5d
cmp eax, 0xbf051812
jle 0x10079d56
cmp eax, 0xbf051813
je 0x10079f96
cmp eax, 0xd88e9a12
je 0x10079fb6
cmp eax, 0xe04ff44f
jne 0x10079b5d
mov eax, 0x510bea7a
jmp 0x10079b5d
cmp eax, 0xf1d28b7e
je 0x10079cea
cmp eax, 0xd175d32
jne 0x1007a171
lea ecx, [esi + 0x948]
call fcn.100087f0
mov eax, dword [esi + 0x58]
lea ecx, [esi + 0x978]
call fcn.100087f0
mov eax, dword [esi + 0x54]
lea ecx, [esi + 0x9b0]
call fcn.100087f0
mov eax, dword [esi + 0x50]
mov eax, 0x1a4032b7
jmp 0x10079b5d
cmp eax, 0x84634a4f
je 0x10079fdc
cmp eax, 0x8a9390f6
jne 0x10079b5d
mov eax, 0x28d5f652
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x10], ecx
mov dword [esi + 4], 0
xor ecx, ecx
inc ecx
mov dword [esi + 0x2c], ecx
jmp 0x10079b5d
cmp eax, 0x67faef0d
je 0x1007a139
cmp eax, 0x6b3da837
jne 0x10079b5d
mov eax, dword [esi + 0x28]
cmp dword [eax + 0x10], 0
mov eax, 0x6426c0cd
mov ecx, 0xf1d28b7e
cmove eax, ecx
jmp 0x10079b5d
cmp eax, 0xb4581698
je 0x1007a158
cmp eax, 0xb77f803d
jne 0x10079b5d
mov eax, 0xd175d32
jmp 0x10079b5d
lea ecx, [esi + 0x930]
call fcn.100087f0
mov eax, dword [esi + 0x5c]
cmp dword [esi + 0x2c], 0
mov eax, 0x510bea7a
mov ecx, 0x9aaf1636
cmove eax, ecx
mov ecx, dword [esi + 4]
mov byte [esi + 0xf], cl
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x18], ecx
jmp 0x10079b5d
lea ecx, [esi + 0x978]
call fcn.10007bca
push eax
call fcn.1009b6c8
add esp, 4
test eax, eax
mov eax, 0x8a9390f6
jmp 0x10079f89
mov eax, dword [esi + 0x18]
mov dword [esi + 0x14], eax
mov al, byte [esi + 0xf]
and al, 1
mov byte [esi + 0xd8], al
mov eax, dword [esi + 0x14]
cmp eax, 0xffffffff
mov eax, 0x707c8f2e
mov ecx, 0xe04ff44f
cmove eax, ecx
jmp 0x10079b5d
xor eax, eax
mov dword [esi + 0x990], eax
mov dword [esi + 0x9a0], eax
mov dword [esi + 0x9a4], 0xf
mov byte [esi + 0x990], 0
lea ebx, [esi + 0x990]
mov ecx, ebx
push 1
push 0x100be360
call fcn.10007b00
mov edi, dword [esi + 0x9a0]
mov ecx, ebx
call fcn.10007bca
lea ecx, [esi + 0x9b0]
push edi
push eax
call fcn.10008e94
mov ecx, ebx
call fcn.100087f0
mov eax, 0x84634a4f
jmp 0x10079b5d
lea ecx, [esi + 0x930]
mov dword [esi + 0x5c], ecx
mov eax, dword [esi + 0x5c]
mov eax, dword [esi + 0x14]
xor edx, edx
mov dword [esi + 0x930], edx
mov dword [esi + 0x940], edx
mov edi, 0xf
mov dword [esi + 0x944], edi
mov byte [esi + 0x930], dl
push eax
push edx
lea ebx, [esi + 0x948]
push ebx
call fcn.10009162
mov edi, dword [esi + 0x14]
inc edi
mov ecx, ebx
xor eax, eax
push eax
call fcn.100091a0
mov ebx, dword [esi + 0x958]
cmp ebx, edi
cmovb edi, ebx
lea ecx, [esi + 0x948]
call fcn.10007c1e
sub ebx, edi
mov dword [esi + 0x958], ebx
inc ebx
add edi, eax
push ebx
push edi
push eax
call fcn.1008ba80
add esp, 0xc
xor eax, eax
mov dword [esi + 0x960], eax
mov dword [esi + 0x970], eax
mov ecx, 0xf
mov dword [esi + 0x974], ecx
mov byte [esi + 0x960], al
lea ebx, [esi + 0x960]
mov ecx, ebx
push 1
push 0x100be360
call fcn.10007b00
mov edi, dword [esi + 0x940]
lea ecx, [esi + 0x930]
call fcn.10007bca
mov ecx, ebx
push edi
push eax
xor eax, eax
push eax
call fcn.10009486
movups xmm0, xmmword [eax]
movaps xmmword [esi + 0x990], xmm0
movsd xmm0, qword [eax + 0x10]
movsd qword [esi + 0x9a0], xmm0
xor ecx, ecx
mov dword [eax + 0x10], ecx
mov edx, 0xf
mov dword [eax + 0x14], edx
mov byte [eax], cl
mov edi, dword [esi + 0x9a0]
lea ecx, [esi + 0x990]
call fcn.10007bca
lea ebx, [esi + 0x978]
mov ecx, ebx
push edi
push eax
call fcn.10008e94
lea ecx, [esi + 0x990]
call fcn.100087f0
lea ecx, [esi + 0x960]
call fcn.100087f0
mov ecx, ebx
call fcn.10007bca
xor ecx, ecx
push ecx
push eax
call fcn.1009a0d5
add esp, 8
test eax, eax
mov eax, 0x92ffa58a
mov ecx, 0xa910b0d9
cmove eax, ecx
jmp 0x10079b5d
lea ecx, [esi + 0x948]
call fcn.10007c1e
cmp byte [eax], 0x5c
mov eax, 0x67faef0d
mov ecx, 0xd88e9a12
cmove eax, ecx
jmp 0x10079b5d
lea edi, [esi + 0x948]
mov ecx, edi
call fcn.10007c1e
mov ecx, edi
push eax
lea eax, [esi + 0x990]
push eax
call fcn.1007cda4
mov eax, 0x67faef0d
jmp 0x10079b5d
lea ecx, [esi + 0x9b0]
call fcn.10007bca
mov edx, 0x100
push edx
lea ecx, [esi + 0x610]
push ecx
push edx
lea ecx, [esi + 0x710]
push ecx
push edx
lea edi, [esi + 0x810]
push edi
push 3
lea ecx, [esi + 0xd9]
push ecx
push eax
call fcn.1009bd7b
add esp, 0x24
lea edi, [esi + 0x978]
mov dword [esi + 0x54], edi
mov eax, dword [esi + 0x54]
xor ebx, ebx
mov dword [esi + 0x990], ebx
mov dword [esi + 0x9a0], ebx
mov eax, 0xf
mov dword [esi + 0x9a4], eax
mov byte [esi + 0x990], bl
lea ecx, [esi + 0x990]
push 1
push 0x100be360
call fcn.10007b00
mov dword [esi + 0x960], ebx
mov dword [esi + 0x970], ebx
mov eax, 0xf
mov dword [esi + 0x974], eax
mov byte [esi + 0x960], bl
lea eax, [esi + 0xd9]
push eax
call fcn.1009ee80
add esp, 4
lea edi, [esi + 0x960]
mov ecx, edi
push eax
lea eax, [esi + 0xd9]
push eax
call fcn.10007b00
sub esp, 0xc
mov al, byte [esi + 0xd4]
mov byte [esp], al
lea eax, [esi + 0x990]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
lea ecx, [esi + 0x978]
call fcn.1000fe0c
mov ecx, edi
call fcn.100087f0
lea ecx, [esi + 0x990]
call fcn.100087f0
lea edi, [esi + 0x948]
mov dword [esi + 0x58], edi
mov eax, dword [esi + 0x58]
mov dword [esi + 0x948], ebx
mov dword [esi + 0x958], ebx
mov eax, 0xf
mov dword [esi + 0x95c], eax
mov byte [esi + 0x948], bl
lea edi, [esi + 0x810]
push edi
call fcn.1009ee80
add esp, 4
lea ecx, [esi + 0x948]
push eax
push edi
call fcn.10007b00
lea ecx, [esi + 0x978]
call fcn.10007bca
push ebx
push eax
call fcn.1009a0d5
add esp, 8
test eax, eax
mov eax, 0xb77f803d
mov ecx, 0xb4581698
cmove eax, ecx
jmp 0x10079b5d
lea ecx, [esi + 0x948]
push 0
push 0x100be360
call fcn.1007cdfc
mov dword [esi + 0x18], eax
mov eax, 0x9aaf1636
jmp 0x10079b5d
cmp dword [esi + 0x958], 0
mov eax, 0xbf051813
mov ecx, 0x74d9b284
cmove eax, ecx
jmp 0x10079b5d
cmp eax, 0x1a4032b7
jne 0x10079b5d
mov eax, dword [esi + 0x4c]
mov eax, dword [esi + 0x48]
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x40]
mov eax, 0x373bfcd8
jmp 0x100799db
push dword [esi + 0x34]
push 0x100be360
lea eax, [esi + 0x810]
push eax
call fcn.1000fd47
add esp, 0xc
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0x820]
lea ecx, [esi + 0x810]
call fcn.10007bca
mov ecx, edi
push ebx
push eax
call fcn.10008e94
lea ecx, [esi + 0x810]
call fcn.100087f0
mov eax, 0x1185af0f
jmp 0x100799db
cmp eax, 0xaddb4c97
jne 0x100799db
mov ecx, dword [esi + 0x34]
call fcn.100087f0
mov eax, dword [esi + 0x30]
mov esp, dword [esi + 0x64]
mov eax, dword [esi + 0x60]
mov ecx, dword [eax]
lea edi, [esi + 0x4f4]
push edi
call fcn.1000105c
mov ecx, edi
call fcn.100087f0
mov eax, dword [esi + 0xa8]
mov ebx, dword [eax]
mov eax, dword [esi + 0xa4]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov eax, dword [esi + 0xa0]
mov edi, dword [eax]
mov eax, dword [esi + 0x60]
mov ecx, dword [eax]
call fcn.10007bca
xor ecx, ecx
push ecx
push ecx
push ebx
push ecx
push dword [esi + 4]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [esi + 0xd4], eax
mov edi, 0xf9bac8fb
cmp edi, 0xb28092a5
je 0x1007a287
cmp edi, 0xd6d82522
je 0x1007adb2
cmp edi, 0xf9bac8fb
jne 0x1007a24d
mov eax, dword [esi + 0xd4]
cmp eax, 0xffffffff
mov edi, 0xd6d82522
mov eax, 0xb28092a5
cmove edi, eax
mov ebx, dword [esi + 0xd4]
jmp 0x1007a24d
mov dword [esi + 0x64], esp
push eax
sub esp, 0x1c
mov ebx, esp
lea edi, [ebx + 4]
mov eax, dword [esi + 0x78]
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x18], ecx
mov ecx, edi
push eax
call fcn.10007eb6
lea eax, [esi + 0x4f4]
mov dword [ebx], eax
mov cl, 1
mov byte [ebx + 0x1c], cl
mov dword [esi + 4], ebx
mov dword [esi + 0x30], ebx
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov dword [esi + 0x34], edi
mov eax, dword [esi + 8]
mov edx, 0
mov dword [eax], edx
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esi + 0x918]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x38]
mov byte [esi + 0x810], cl
mov byte [esi + 0x811], 0xb
mov byte [esi + 0x812], 0x58
mov byte [esi + 0x813], 0x53
mov al, 0x63
mov byte [esi + 0x814], al
mov byte [esi + 0x815], 0x6f
mov byte [esi + 0x816], al
mov byte [esi + 0x817], 0x66
mov byte [esi + 0x818], 0x6c
mov byte [esi + 0x819], 0x79
mov byte [esi + 0x81a], 0x50
mov byte [esi + 0x81b], 0x7e
mov byte [esi + 0x81c], 0x67
mov byte [esi + 0x81d], 0x64
mov byte [esi + 0x81e], 0x6d
mov byte [esi + 0x81f], 0x62
lea eax, [esi + 0x822]
mov dword [esi + 0x710], eax
mov ecx, 0x9e4cd24
lea eax, [esi + 0x820]
cmp ecx, 0x390de2e8
je 0x1007a399
cmp ecx, 0x9e4cd24
jne 0x1007a370
mov byte [eax], 0
inc eax
cmp eax, dword [esi + 0x710]
mov ecx, 0x9e4cd24
mov edx, 0x390de2e8
cmove ecx, edx
jmp 0x1007a370
lea eax, [esi + 0x810]
mov dword [esi + 0x610], eax
mov eax, dword [esi + 0x610]
mov al, byte [eax]
mov byte [esi + 0x990], al
mov eax, 0x51a51d83
cmp eax, 0x176dc90d
jg 0x1007a426
cmp eax, 0xa3c7258e
je 0x1007a458
cmp eax, 0xa921f8a0
je 0x1007a4c0
cmp eax, 0xcd720261
jne 0x1007a3b8
mov eax, dword [esi + 0x9b0]
mov cl, byte [esi + eax + 0x812]
mov edx, dword [esi + 0x9b0]
mov al, byte [esi + 0x811]
movzx edi, al
mov eax, 0xfe
sub eax, edx
inc edx
and eax, edi
not edi
and edi, edx
or eax, edi
xor al, cl
xor al, 0xe
mov ecx, dword [esi + 0x9b0]
mov byte [esi + ecx + 0x812], al
inc dword [esi + 0x9b0]
mov eax, 0x176dc90e
jmp 0x1007a3b8
cmp eax, 0x176dc90e
je 0x1007a47e
cmp eax, 0x7ad28e43
je 0x1007a499
cmp eax, 0x51a51d83
jne 0x1007a3b8
test byte [esi + 0x990], 1
mov eax, 0xa3c7258e
mov ecx, 0xa921f8a0
cmove eax, ecx
jmp 0x1007a3b8
lea eax, [esi + 0x9b0]
mov dword [esi + 0x710], eax
mov eax, dword [esi + 0x710]
mov dword [esi + 0x9b0], 0
mov eax, 0x176dc90e
jmp 0x1007a3b8
mov eax, dword [esi + 0x9b0]
cmp eax, 0xe
mov eax, 0x7ad28e43
mov ecx, 0xcd720261
cmovb eax, ecx
jmp 0x1007a3b8
mov eax, dword [esi + 0x710]
mov byte [esi + 0x820], 0
mov byte [esi + 0x821], 0
mov eax, dword [esi + 0x610]
mov byte [eax], 0
mov eax, 0xa921f8a0
jmp 0x1007a3b8
xor ebx, ebx
mov dword [esi + 0x918], ebx
mov dword [esi + 0x928], ebx
mov dword [esi + 0x92c], 0xf
mov byte [esi + 0x918], 0
lea edi, [esi + 0x812]
push edi
call fcn.1009ee80
add esp, 4
lea ecx, [esi + 0x918]
push eax
push edi
call fcn.10007b00
lea ecx, [esi + 0x50c]
mov dword [esi + 0x3c], ecx
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x20], ecx
push 0x104
push ebx
push dword [esi + 0x20]
call fcn.1008c000
add esp, 0xc
xor eax, eax
mov ecx, dword [esi + 4]
cmp byte [ecx + 0x1c], 0
sete al
lea eax, [eax + eax*8 + 0x1a]
push 1
push eax
push dword [esi + 0x20]
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
mov dword [esi + 0x7c], eax
mov eax, 0xb5396884
cmp eax, 0x1185af0e
jle 0x1007a566
cmp eax, 0x373bfcd7
jg 0x1007a592
cmp eax, 0x1185af0f
je 0x1007a669
cmp eax, 0x293ada40
je 0x1007ace7
jmp 0x1007a540
cmp eax, 0xd5e5fb0a
jle 0x1007a648
cmp eax, 0xd5e5fb0b
je 0x1007a684
cmp eax, 0xdfcc82b
jne 0x1007a540
mov ecx, dword [esi + 8]
call fcn.100087f0
mov eax, 0xaddb4c97
jmp 0x1007a540
cmp eax, 0x373bfcd8
je 0x1007acf1
cmp eax, 0x59daf0b3
jne 0x1007a540
mov edi, dword [esi + 0x20]
xor eax, eax
mov dword [esi + 0x810], eax
mov dword [esi + 0x820], eax
mov dword [esi + 0x824], 0xf
mov byte [esi + 0x810], 0
push edi
call fcn.1009ee80
add esp, 4
lea ebx, [esi + 0x810]
mov ecx, ebx
push eax
push edi
call fcn.10007b00
mov edi, dword [esi + 8]
mov eax, dword [esi + 0x820]
mov dword [esi + 4], eax
mov ecx, ebx
call fcn.10007bca
mov ecx, edi
push dword [esi + 4]
push eax
call fcn.10008e94
mov ecx, ebx
call fcn.100087f0
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0x928]
lea ecx, [esi + 0x918]
call fcn.10007bca
mov ecx, edi
push ebx
push eax
call fcn.10008e94
mov ecx, dword [esi + 8]
call fcn.10007bca
xor ecx, ecx
push ecx
push eax
call fcn.1009a0d5
add esp, 8
test eax, eax
mov eax, 0xd5e5fb0b
mov ecx, 0x293ada40
cmove eax, ecx
jmp 0x1007a540
cmp eax, 0xb5396884
jne 0x1007ad3a
cmp dword [esi + 0x7c], 0
mov eax, 0x59daf0b3
mov ecx, 0x1185af0f
cmove eax, ecx
jmp 0x1007a540
mov eax, dword [esi + 0x3c]
lea ecx, [esi + 0x918]
call fcn.100087f0
mov eax, dword [esi + 0x38]
mov eax, 0xaddb4c97
jmp 0x1007a540
mov eax, dword [esi + 8]
mov dword [esi + 0x28], eax
lea eax, [esi + 0xd9]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
lea eax, [esi + 0x810]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x44]
lea eax, [esi + 0x710]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x48]
lea eax, [esi + 0x610]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x4c]
mov eax, 0x6b3da837
mov dword [esi + 4], ecx
cmp eax, 0xf1d28b7d
jle 0x1007a746
cmp eax, 0x67faef0c
jg 0x1007a7a9
cmp eax, 0x28d5f651
jle 0x1007a810
cmp eax, 0x28d5f652
je 0x1007a8d8
cmp eax, 0x510bea7a
je 0x1007a8ce
cmp eax, 0x6426c0cd
jne 0x1007a6c2
lea ecx, [esi + 0x9b0]
mov dword [esi + 0x50], ecx
mov eax, dword [esi + 0x50]
xor eax, eax
mov dword [esi + 0x9b0], eax
mov dword [esi + 0x9c0], eax
mov dword [esi + 0x9c4], eax
mov ebx, dword [esi + 0x28]
push ebx
call fcn.10007eb6
mov edi, dword [ebx + 0x10]
mov ecx, ebx
call fcn.10007bca
cmp byte [edi + eax - 1], 0x5c
mov eax, 0x6e98a490
mov ecx, 0x84634a4f
cmove eax, ecx
jmp 0x1007a6c2
cmp eax, 0xb4581697
jg 0x1007a7da
cmp eax, 0x92ffa589
jle 0x1007a856
cmp eax, 0x92ffa58a
je 0x1007a908
cmp eax, 0x9aaf1636
je 0x1007a928
cmp eax, 0xa910b0d9
jne 0x1007a6c2
lea ecx, [esi + 0x948]
push 0
push 0x100be360
call fcn.1007cdfc
mov dword [esi + 0x10], eax
mov eax, 0x28d5f652
mov dword [esi + 0x2c], 0
mov cl, byte [esi + 0x27]
mov dword [esi + 4], ecx
jmp 0x1007a6c2
cmp eax, 0x6e98a48f
jle 0x1007a889
cmp eax, 0x6e98a490
je 0x1007a94e
cmp eax, 0x707c8f2e
je 0x1007a9ac
cmp eax, 0x74d9b284
je 0x1007a8ce
jmp 0x1007a6c2
cmp eax, 0xbf051812
jle 0x1007a8b8
cmp eax, 0xbf051813
je 0x1007aaf5
cmp eax, 0xd88e9a12
je 0x1007ab15
cmp eax, 0xe04ff44f
jne 0x1007a6c2
mov eax, 0x510bea7a
jmp 0x1007a6c2
cmp eax, 0xf1d28b7e
je 0x1007a84c
cmp eax, 0xd175d32
jne 0x1007acd0
lea ecx, [esi + 0x948]
call fcn.100087f0
mov eax, dword [esi + 0x58]
lea ecx, [esi + 0x978]
call fcn.100087f0
mov eax, dword [esi + 0x54]
lea ecx, [esi + 0x9b0]
call fcn.100087f0
mov eax, dword [esi + 0x50]
mov eax, 0x1a4032b7
jmp 0x1007a6c2
cmp eax, 0x84634a4f
je 0x1007ab3b
cmp eax, 0x8a9390f6
jne 0x1007a6c2
mov eax, 0x28d5f652
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x10], ecx
mov dword [esi + 4], 0
xor ecx, ecx
inc ecx
mov dword [esi + 0x2c], ecx
jmp 0x1007a6c2
cmp eax, 0x67faef0d
je 0x1007ac98
cmp eax, 0x6b3da837
jne 0x1007a6c2
mov eax, dword [esi + 0x28]
cmp dword [eax + 0x10], 0
mov eax, 0x6426c0cd
mov ecx, 0xf1d28b7e
cmove eax, ecx
jmp 0x1007a6c2
cmp eax, 0xb4581698
je 0x1007acb7
cmp eax, 0xb77f803d
jne 0x1007a6c2
mov eax, 0xd175d32
jmp 0x1007a6c2
lea ecx, [esi + 0x930]
call fcn.100087f0
mov eax, dword [esi + 0x5c]
cmp dword [esi + 0x2c], 0
mov eax, 0x510bea7a
mov ecx, 0x9aaf1636
cmove eax, ecx
mov ecx, dword [esi + 4]
mov byte [esi + 0xf], cl
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x18], ecx
jmp 0x1007a6c2
lea ecx, [esi + 0x978]
call fcn.10007bca
push eax
call fcn.1009b6c8
add esp, 4
test eax, eax
mov eax, 0x8a9390f6
jmp 0x1007aae8
mov eax, dword [esi + 0x18]
mov dword [esi + 0x14], eax
mov al, byte [esi + 0xf]
and al, 1
mov byte [esi + 0x27], al
mov eax, dword [esi + 0x14]
cmp eax, 0xffffffff
mov eax, 0x707c8f2e
mov ecx, 0xe04ff44f
cmove eax, ecx
jmp 0x1007a6c2
xor eax, eax
mov dword [esi + 0x990], eax
mov dword [esi + 0x9a0], eax
mov dword [esi + 0x9a4], 0xf
mov byte [esi + 0x990], 0
lea ebx, [esi + 0x990]
mov ecx, ebx
push 1
push 0x100be360
call fcn.10007b00
mov edi, dword [esi + 0x9a0]
mov ecx, ebx
call fcn.10007bca
lea ecx, [esi + 0x9b0]
push edi
push eax
call fcn.10008e94
mov ecx, ebx
call fcn.100087f0
mov eax, 0x84634a4f
jmp 0x1007a6c2
lea ecx, [esi + 0x930]
mov dword [esi + 0x5c], ecx
mov eax, dword [esi + 0x5c]
mov eax, dword [esi + 0x14]
xor edx, edx
mov dword [esi + 0x930], edx
mov dword [esi + 0x940], edx
mov edi, 0xf
mov dword [esi + 0x944], edi
mov byte [esi + 0x930], dl
push eax
push edx
lea ebx, [esi + 0x948]
push ebx
call fcn.10009162
mov edi, dword [esi + 0x14]
inc edi
mov ecx, ebx
xor eax, eax
push eax
call fcn.100091a0
mov ebx, dword [esi + 0x958]
cmp ebx, edi
cmovb edi, ebx
lea ecx, [esi + 0x948]
call fcn.10007c1e
sub ebx, edi
mov dword [esi + 0x958], ebx
inc ebx
add edi, eax
push ebx
push edi
push eax
call fcn.1008ba80
add esp, 0xc
xor eax, eax
mov dword [esi + 0x960], eax
mov dword [esi + 0x970], eax
mov ecx, 0xf
mov dword [esi + 0x974], ecx
mov byte [esi + 0x960], al
lea ebx, [esi + 0x960]
mov ecx, ebx
push 1
push 0x100be360
call fcn.10007b00
mov edi, dword [esi + 0x940]
lea ecx, [esi + 0x930]
call fcn.10007bca
mov ecx, ebx
push edi
push eax
xor eax, eax
push eax
call fcn.10009486
movups xmm0, xmmword [eax]
movaps xmmword [esi + 0x990], xmm0
movsd xmm0, qword [eax + 0x10]
movsd qword [esi + 0x9a0], xmm0
xor ecx, ecx
mov dword [eax + 0x10], ecx
mov edx, 0xf
mov dword [eax + 0x14], edx
mov byte [eax], cl
mov edi, dword [esi + 0x9a0]
lea ecx, [esi + 0x990]
call fcn.10007bca
lea ebx, [esi + 0x978]
mov ecx, ebx
push edi
push eax
call fcn.10008e94
lea ecx, [esi + 0x990]
call fcn.100087f0
lea ecx, [esi + 0x960]
call fcn.100087f0
mov ecx, ebx
call fcn.10007bca
xor ecx, ecx
push ecx
push eax
call fcn.1009a0d5
add esp, 8
test eax, eax
mov eax, 0x92ffa58a
mov ecx, 0xa910b0d9
cmove eax, ecx
jmp 0x1007a6c2
lea ecx, [esi + 0x948]
call fcn.10007c1e
cmp byte [eax], 0x5c
mov eax, 0x67faef0d
mov ecx, 0xd88e9a12
cmove eax, ecx
jmp 0x1007a6c2
lea edi, [esi + 0x948]
mov ecx, edi
call fcn.10007c1e
mov ecx, edi
push eax
lea eax, [esi + 0x990]
push eax
call fcn.1007cda4
mov eax, 0x67faef0d
jmp 0x1007a6c2
lea ecx, [esi + 0x9b0]
call fcn.10007bca
mov edx, 0x100
push edx
lea ecx, [esi + 0x610]
push ecx
push edx
lea ecx, [esi + 0x710]
push ecx
push edx
lea edi, [esi + 0x810]
push edi
push 3
lea ecx, [esi + 0xd9]
push ecx
push eax
call fcn.1009bd7b
add esp, 0x24
lea edi, [esi + 0x978]
mov dword [esi + 0x54], edi
mov eax, dword [esi + 0x54]
xor ebx, ebx
mov dword [esi + 0x990], ebx
mov dword [esi + 0x9a0], ebx
mov eax, 0xf
mov dword [esi + 0x9a4], eax
mov byte [esi + 0x990], bl
lea ecx, [esi + 0x990]
push 1
push 0x100be360
call fcn.10007b00
mov dword [esi + 0x960], ebx
mov dword [esi + 0x970], ebx
mov eax, 0xf
mov dword [esi + 0x974], eax
mov byte [esi + 0x960], bl
lea eax, [esi + 0xd9]
push eax
call fcn.1009ee80
add esp, 4
lea edi, [esi + 0x960]
mov ecx, edi
push eax
lea eax, [esi + 0xd9]
push eax
call fcn.10007b00
sub esp, 0xc
mov al, byte [esi + 0xd8]
mov byte [esp], al
lea eax, [esi + 0x990]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
lea ecx, [esi + 0x978]
call fcn.1000fe0c
mov ecx, edi
call fcn.100087f0
lea ecx, [esi + 0x990]
call fcn.100087f0
lea edi, [esi + 0x948]
mov dword [esi + 0x58], edi
mov eax, dword [esi + 0x58]
mov dword [esi + 0x948], ebx
mov dword [esi + 0x958], ebx
mov eax, 0xf
mov dword [esi + 0x95c], eax
mov byte [esi + 0x948], bl
lea edi, [esi + 0x810]
push edi
call fcn.1009ee80
add esp, 4
lea ecx, [esi + 0x948]
push eax
push edi
call fcn.10007b00
lea ecx, [esi + 0x978]
call fcn.10007bca
push ebx
push eax
call fcn.1009a0d5
add esp, 8
test eax, eax
mov eax, 0xb77f803d
mov ecx, 0xb4581698
cmove eax, ecx
jmp 0x1007a6c2
lea ecx, [esi + 0x948]
push 0
push 0x100be360
call fcn.1007cdfc
mov dword [esi + 0x18], eax
mov eax, 0x9aaf1636
jmp 0x1007a6c2
cmp dword [esi + 0x958], 0
mov eax, 0xbf051813
mov ecx, 0x74d9b284
cmove eax, ecx
jmp 0x1007a6c2
cmp eax, 0x1a4032b7
jne 0x1007a6c2
mov eax, dword [esi + 0x4c]
mov eax, dword [esi + 0x48]
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x40]
mov eax, 0x373bfcd8
jmp 0x1007a540
push dword [esi + 0x34]
push 0x100be360
lea eax, [esi + 0x810]
push eax
call fcn.1000fd47
add esp, 0xc
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0x820]
lea ecx, [esi + 0x810]
call fcn.10007bca
mov ecx, edi
push ebx
push eax
call fcn.10008e94
lea ecx, [esi + 0x810]
call fcn.100087f0
mov eax, 0x1185af0f
jmp 0x1007a540
cmp eax, 0xaddb4c97
jne 0x1007a540
mov ecx, dword [esi + 0x34]
call fcn.100087f0
mov eax, dword [esi + 0x30]
mov esp, dword [esi + 0x64]
mov eax, dword [esi + 0x60]
mov ecx, dword [eax]
lea edi, [esi + 0x4f4]
push edi
call fcn.1000105c
mov ecx, edi
call fcn.100087f0
mov eax, dword [esi + 0xa8]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov eax, dword [esi + 0xa4]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xa0]
mov ebx, dword [eax]
mov eax, dword [esi + 0x60]
mov ecx, dword [eax]
call fcn.10007bca
mov edi, 0xd6d82522
xor ecx, ecx
push ecx
push ecx
push dword [esi + 4]
push ecx
push dword [esi + 0x10]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebx, eax
jmp 0x1007a24d
mov ecx, dword [esi + 0x78]
call fcn.100087f0
mov esp, dword [esi + 0xac]
mov ecx, dword [esi + 0xb0]
call fcn.100087f0
mov dword [esi + 0x6c], ebx
mov eax, 0x21c65e48
mov esp, dword [esi + 0xb4]
cmp eax, 0x21c65e47
jg 0x1007ae2c
cmp eax, 0xe3ca79aa
jg 0x1007ae63
cmp eax, 0xca779583
jg 0x1007aef2
cmp eax, 0xa698070b
je 0x1007afe2
cmp eax, 0xc32e40cd
jne 0x1007add9
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
mov dword [esi + 0x9c], eax
mov eax, dword [esi + 0xc0]
mov ecx, dword [esi + 0x9c]
cmp ecx, dword [eax]
mov eax, 0xf6ee4608
mov ecx, 0xca779584
cmovg eax, ecx
jmp 0x1007add9
cmp eax, 0x43d08f4c
jg 0x1007aebf
cmp eax, 0x314d1e1b
jg 0x1007af20
cmp eax, 0x21c65e48
je 0x1007b003
cmp eax, 0x2527ce51
jne 0x1007add9
mov eax, 0x314d1e1c
xor ebx, ebx
xor edi, edi
inc edi
jmp 0x1007add9
cmp eax, 0xffd9648d
jg 0x1007af9e
cmp eax, 0xe3ca79ab
je 0x1007b01b
cmp eax, 0xf6ee4608
jne 0x1007add9
mov eax, dword [esi + 0xb8]
mov ecx, dword [esi + 0x70]
add ecx, 8
push dword [esi + 0x9c]
push ecx
push dword [eax]
call fcn.1008ba80
add esp, 0xc
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
mov ecx, dword [esi + 0xbc]
mov ecx, dword [ecx]
mov dword [ecx], eax
mov eax, 0x314d1e1c
xor edi, edi
mov ebx, dword [esi + 0x1c]
jmp 0x1007add9
cmp eax, 0x6e27575c
jle 0x1007afc5
cmp eax, 0x6e27575d
je 0x1007b115
cmp eax, 0x766b6ef1
jne 0x1007add9
mov eax, 0x314d1e1c
mov edi, 3
mov ebx, dword [esi + 0x1c]
jmp 0x1007add9
cmp eax, 0xca779584
je 0x1007b13e
cmp eax, 0xcc01955d
jne 0x1007add9
push dword [esi + 0xc4]
call fcn.1005c627
add esp, 4
mov eax, 0x511c0ec5
jmp 0x1007add9
cmp eax, 0x314d1e1c
je 0x1007b150
cmp eax, 0x390225e0
jne 0x1007add9
lea eax, [esi + 0xf4]
mov dword [esi + 0x90], eax
push 0
lea eax, [esi + 0xd0]
push eax
push 0x400
push dword [esi + 0x90]
push dword [esi + 0x6c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [esi + 4], ebx
mov ebx, edi
mov edi, eax
push dword [esi + 0x6c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esi + 0xd0]
mov dword [esi + 0x94], eax
cmp dword [esi + 0x94], 0
mov eax, 0xe3ca79ab
mov ecx, 0x68a4270
cmovle eax, ecx
test edi, edi
mov edi, ebx
mov ebx, dword [esi + 4]
cmove eax, ecx
jmp 0x1007add9
cmp eax, 0xffd9648e
je 0x1007b175
cmp eax, 0x68a4270
jne 0x1007add9
mov eax, 0x314d1e1c
xor ebx, ebx
mov edi, 2
jmp 0x1007add9
cmp eax, 0x43d08f4d
jne 0x1007b1e9
mov eax, 0x314d1e1c
mov edi, 4
mov ebx, dword [esi + 0x1c]
jmp 0x1007add9
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
cmp dword [eax], 0x77a526c8
mov eax, 0x43d08f4d
mov ecx, 0x6e27575d
cmove eax, ecx
jmp 0x1007add9
mov eax, dword [esi + 0x6c]
cmp eax, 0xffffffff
mov eax, 0x390225e0
mov ecx, 0x2527ce51
cmove eax, ecx
jmp 0x1007add9
mov eax, dword [esi + 0x90]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x94]
mov dword [esi + 0x18], eax
xorps xmm0, xmm0
movaps xmmword [esi + 0x810], xmm0
mov dword [esi + 4], ebx
mov ebx, edi
lea edi, [esi + 0x50c]
mov dword [esi + 0x710], edi
mov eax, dword [esi + 0x710]
mov ecx, 0x100c64d0
push 0x1007ce65
call fcn.1000a868
xor eax, eax
mov dword [esi + 0x50c], eax
mov dword [esi + 0x51c], eax
mov dword [esi + 0x520], eax
mov ecx, edi
mov edi, ebx
mov ebx, dword [esi + 4]
push 0x100c6504
call fcn.10007eb6
mov eax, 0xb6defb31
cmp eax, 0x5a10690e
jg 0x1007b0a1
cmp eax, 0xb6defb31
je 0x1007b0d8
cmp eax, 0x25e7fd74
jne 0x1007b087
jmp 0x1007b187
cmp eax, 0x5a10690f
je 0x1007b0ee
cmp eax, 0x60e41d27
jne 0x1007b087
lea ecx, [esi + 0x50c]
call fcn.10007bca
push eax
push 0x100be0ed
push 0x10
lea eax, [esi + 0x810]
push eax
call fcn.10009906
add esp, 0x10
mov eax, 0x25e7fd74
jmp 0x1007b087
cmp dword [esi + 0x51c], 0
mov eax, 0x60e41d27
mov ecx, 0x5a10690f
cmove eax, ecx
jmp 0x1007b087
push 0
push 0x76787003
push str._lld
push 0x10
lea eax, [esi + 0x810]
push eax
call fcn.10009906
add esp, 0x14
mov eax, 0x25e7fd74
jmp 0x1007b087
mov eax, dword [esi + 0x70]
add eax, 4
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x98]
add ecx, 0xfffffff8
cmp dword [eax], ecx
mov eax, 0xffd9648e
mov ecx, 0xc32e40cd
cmove eax, ecx
jmp 0x1007add9
mov eax, 0x314d1e1c
mov edi, 6
mov ebx, dword [esi + 0x1c]
jmp 0x1007add9
mov dword [esi + 0xc4], ebx
cmp dword [esi + 0xcc], 0
mov dword [esi + 0xc8], edi
mov eax, 0x511c0ec5
mov ecx, 0xcc01955d
cmovg eax, ecx
jmp 0x1007add9
mov eax, 0x314d1e1c
mov edi, 5
mov ebx, dword [esi + 0x1c]
jmp 0x1007add9
lea ecx, [esi + 0x50c]
call fcn.100087f0
mov eax, dword [esi + 0x710]
lea eax, [esi + 0xcc]
push eax
push dword [esi + 0x18]
push dword [esi + 0x10]
push 0x10
lea eax, [esi + 0x810]
push eax
push eax
push 2
call fcn.10060489
add esp, 0x1c
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0xcc]
mov dword [esi + 0x98], eax
cmp dword [esi + 0x98], 0
mov eax, 0xa698070b
mov edx, 0x766b6ef1
cmovle eax, edx
test ecx, ecx
cmove eax, edx
jmp 0x1007add9
cmp eax, 0x511c0ec5
jne 0x1007add9
lea ecx, [esi + 0xdc]
call fcn.100087f0
mov eax, dword [esi + 0x8c]
mov eax, dword [esi + 0x88]
mov eax, dword [esi + 0x84]
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x80]
call fcn.100087f0
mov edi, dword [esi + 0xc8]
mov ecx, dword [esi + 0x9c8]
xor ecx, ebp
call fcn.100879aa
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret