Function at 0x10008190
Capabilities:
Check if file exists
Delete file
Get file attributes
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10035cd9
mov eax, dword fs:[0]
push eax
sub esp, 0x1ec
mov eax, dword [0x1003f0bc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x1c0], ecx
mov dword [ebp - 0x1a8], eax
mov ecx, dword [eax + 0x84]
sub ecx, dword [eax + 0x80]
mov eax, 0x66666667
imul ecx
movsd xmm1, qword [0x100390b0]
mov esi, dword [ebp + 0xc]
sar edx, 4
mov ecx, edx
mov edi, dword [ebp + 0x10]
shr ecx, 0x1f
add ecx, edx
mov dword [ebp - 0x17c], esi
mov eax, ecx
mov dword [ebp - 0x18c], edi
shr eax, 0x1f
mov byte [ebp - 0x171], 0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x100390c0]
lea eax, [ebp - 0x172]
push eax
push ecx
lea ecx, [ebp - 0x1f4]
divsd xmm1, xmm0
movsd qword [ebp - 0x1e8], xmm1
call fcn.10007af0
mov eax, dword [ebp - 0x1a8]
xor ecx, ecx
mov dword [ebp - 0x198], ecx
mov dword [ebp - 4], 0
mov ecx, dword [eax + 0x84]
sub ecx, dword [eax + 0x80]
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x1ac], eax
je 0x10009a9a
xor ecx, ecx
test edi, edi
je 0x100082a1
mov ecx, edi
call fcn.10002e60
test al, al
jne 0x10009aa2
mov ecx, dword [ebp - 0x198]
mov edx, dword [ebp - 0x1a8]
lea ecx, [ecx + ecx*4]
mov dword [ebp - 0x1a4], ecx
mov eax, dword [edx + 0x80]
mov ecx, dword [edx + 0x84]
sub ecx, eax
mov dword [ebp - 0x19c], eax
mov eax, 0x66666667
imul ecx
mov eax, dword [ebp - 0x198]
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
movd xmm1, eax
add ecx, edx
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
mov edx, dword [ebp - 0x1a4]
movd xmm0, ecx
addsd xmm1, qword [eax*8 + 0x100390c0]
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
mov eax, dword [ebp - 0x19c]
mulsd xmm1, qword [0x100390b0]
lea eax, [eax + edx*8]
add eax, 4
mov dword [ebp - 0x180], eax
addsd xmm0, qword [ecx*8 + 0x100390c0]
divsd xmm1, xmm0
movsd qword [ebp - 0x1e0], xmm1
test edi, edi
je 0x10008362
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x1000833d
mov ecx, dword [eax]
movaps xmm0, xmm1
mulsd xmm0, qword [0x100390b8]
push ecx
push ecx
mov ecx, edi
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.10003950
mov edx, dword [ebp - 0x1a4]
jmp 0x10008368
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x19c]
mov byte [ebp - 0x172], 1
cmp dword [eax + edx*8], 2
jne 0x100083d0
mov ecx, dword [eax + edx*8 + 0x1c]
mov eax, dword [eax + edx*8 + 0x20]
sub eax, ecx
sar eax, 3
cmp eax, 1
jne 0x100084dd
push 0
push 0x1003f194
push 0x1003f148
push 0
push dword [ecx]
call fcn.10035781
add esp, 0x14
test eax, eax
je 0x100084dd
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax + ecx*8 + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov byte [ebp - 0x172], al
mov eax, dword [ebp - 0x180]
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x100083e0
mov ecx, dword [eax]
lea eax, [ebp - 0x1f8]
push eax
push ecx
call fcn.10034720
mov ecx, eax
mov dword [ebp - 0x1b8], 0x10003c90
add esp, 8
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x1b4], ecx
xor eax, eax
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x194], eax
mov byte [ebp - 4], 2
cmp byte [ebp - 0x172], al
je 0x10008545
test edi, edi
je 0x10008436
push str.Opening_file
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x10008444
push str.Opening_file
call esi
add esp, 4
test edi, edi
je 0x10008455
push dword [ebp - 0x184]
mov ecx, edi
call fcn.100023b0
test esi, esi
je 0x1000848d
lea eax, [ebp - 0x178]
mov dword [ebp - 0x178], 0
push eax
push dword [ebp - 0x184]
call fcn.100347b0
mov esi, eax
push esi
call dword [ebp - 0x17c]
push esi
call fcn.10034700
mov esi, dword [ebp - 0x17c]
add esp, 0x10
push 1
push 1
push dword [ebp - 0x184]
call fcn.10017450
add esp, 0xc
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x194], eax
test eax, eax
jne 0x1000850b
mov byte [ebp - 0x171], 1
test edi, edi
je 0x100084c6
push str.__FAILURE__r_n
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x100084d4
push str.__FAILURE__r_n
call esi
add esp, 4
mov byte [ebp - 4], 3
jmp 0x10009a4c
mov byte [ebp - 0x171], 1
test edi, edi
je 0x100084f4
push str.ERROR:_Unexpected_resource_file_replacer__r_n
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x10009a63
push str.ERROR:_Unexpected_resource_file_replacer__r_n
call esi
add esp, 4
jmp 0x10009a63
test edi, edi
je 0x1000851b
push str.__SUCCESS__r_n
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x10008529
push str.__SUCCESS__r_n
call esi
add esp, 4
mov ecx, dword [ebp - 0x198]
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [ebp - 0x1f4]
mov byte [ecx + eax*4 + 0x18], 1
jmp 0x1000858c
push 1
push 1
push ecx
call fcn.10017450
mov ecx, dword [ebp - 0x198]
add esp, 0xc
mov edi, dword [ebp - 0x1f4]
mov dword [ebp - 0x178], eax
lea edx, [ecx*8]
sub edx, ecx
test eax, eax
setne cl
mov byte [edi + edx*4 + 0x18], cl
mov edi, dword [ebp - 0x18c]
test eax, eax
je 0x1000858c
mov eax, dword [eax]
mov ecx, dword [ebp - 0x178]
push 1
call dword [eax]
xorps xmm0, xmm0
mov dword [ebp - 0x70], 0
xor eax, eax
mov dword [ebp - 0x6c], 7
movups xmmword [ebp - 0x80], xmm0
mov word [ebp - 0x80], ax
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x1a4]
mov byte [ebp - 4], 4
mov eax, dword [eax + ecx*8]
sub eax, 0
je 0x100092b0
sub eax, 1
je 0x10008908
sub eax, 1
jne 0x10009969
mov esi, dword [ebp - 0x184]
mov ecx, esi
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100085f0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x68]
call fcn.100074e0
push str..mod
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x17
call fcn.10007d20
cmp dword [ebp - 0x54], 8
lea eax, [ebp - 0x68]
push 1
cmovae eax, dword [ebp - 0x68]
push 1
push 1
push eax
call fcn.10017620
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x1a0], esi
cmp byte [ebp - 0x172], 0
mov ecx, str.Writing_resources_to
mov eax, str.Modifying_and_writing_resources_to
mov byte [ebp - 4], 0x18
cmove ecx, eax
mov dword [ebp - 0x178], ecx
test edi, edi
je 0x1000866c
push ecx
mov ecx, edi
call fcn.10002300
mov ecx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x17c]
test eax, eax
je 0x1000867c
push ecx
call eax
add esp, 4
cmp dword [ebp - 0x54], 8
lea eax, [ebp - 0x68]
cmovae eax, dword [ebp - 0x68]
mov dword [ebp - 0x178], eax
test edi, edi
je 0x1000869f
push eax
mov ecx, edi
call fcn.100023b0
mov eax, dword [ebp - 0x178]
cmp dword [ebp - 0x17c], 0
je 0x100086d7
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x178], 0
push ecx
push eax
call fcn.100347b0
mov edi, eax
push edi
call dword [ebp - 0x17c]
push edi
call fcn.10034700
mov edi, dword [ebp - 0x18c]
add esp, 0x10
test esi, esi
jne 0x100087c7
mov byte [ebp - 0x171], 1
test edi, edi
je 0x100086f6
push str.__FAILURE__r_n
mov ecx, edi
call fcn.10002300
mov esi, dword [ebp - 0x17c]
test esi, esi
je 0x1000870a
push str.__FAILURE__r_n
call esi
add esp, 4
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 4], 4
cmp ecx, 8
jb 0x10008748
mov edx, dword [ebp - 0x68]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000873e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009c74
push ecx
push edx
call fcn.100348d3
add esp, 8
mov ecx, dword [ebp - 0x6c]
xor eax, eax
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], ax
mov byte [ebp - 4], 2
cmp ecx, 8
jb 0x1000879a
mov edx, dword [ebp - 0x80]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10008790
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009c74
push ecx
push edx
call fcn.100348d3
add esp, 8
mov ecx, dword [ebp - 0x190]
xor eax, eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
test ecx, ecx
je 0x100087be
mov eax, dword [ecx]
push 1
call dword [eax]
mov byte [ebp - 4], 0x19
jmp 0x10009a4c
cmp byte [ebp - 0x172], 0
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax + ecx*8 + 0x1c]
mov ecx, dword [eax]
mov dword [ebp - 0x180], ecx
je 0x10008805
mov eax, dword [ecx]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push dword [ebp - 0x190]
push 0
call dword [eax + 0x18]
mov ecx, dword [ebp - 0x180]
mov eax, dword [ecx]
push esi
push 0
push 0
mov eax, dword [eax + 0x20]
call eax
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x188], edx
mov ecx, dword [eax + 0x18]
cmp dword [eax + 0x14], ecx
jne 0x10008844
xorps xmm0, xmm0
movlpd qword [ebp - 0x1e0], xmm0
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e0]
jmp 0x10008850
mov eax, dword [ecx - 0x20]
add eax, dword [ecx - 0x28]
mov edx, dword [ecx - 0x1c]
adc edx, dword [ecx - 0x24]
cmp eax, dword [ebp - 0x178]
jne 0x10008881
cmp edx, dword [ebp - 0x188]
jne 0x10008881
test edi, edi
je 0x10008870
push str.__SUCCESS__r_n
mov ecx, edi
call fcn.10002300
mov eax, dword [ebp - 0x17c]
test eax, eax
je 0x100088ac
push str.__SUCCESS__r_n
jmp 0x100088a7
mov byte [ebp - 0x171], 1
test edi, edi
je 0x10008898
push str.__INCOMPLETE__r_n
mov ecx, edi
call fcn.10002300
mov eax, dword [ebp - 0x17c]
test eax, eax
je 0x100088ac
push str.__INCOMPLETE__r_n
call eax
add esp, 4
mov ecx, dword [ebp - 0x180]
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 4], 4
cmp ecx, 8
jb 0x100088fd
mov edx, dword [ebp - 0x68]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100088f3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009c74
push ecx
push edx
call fcn.100348d3
add esp, 8
mov esi, dword [ebp - 0x17c]
jmp 0x10009969
test edi, edi
je 0x10008918
push str.Opening_bundle
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x10008926
push str.Opening_bundle
call esi
add esp, 4
lea ecx, [ebp - 0x118]
call fcn.10022ac0
push 0x1000000
push 1
push 0
push dword [ebp - 0x190]
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0xc
call fcn.10023e80
test al, al
jne 0x100089f2
mov byte [ebp - 0x171], 1
test edi, edi
je 0x1000896e
push str.__FAILURE__r_n
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x1000897c
push str.__FAILURE__r_n
call esi
add esp, 4
lea ecx, [ebp - 0x118]
call fcn.10022da0
mov ecx, dword [ebp - 0x6c]
mov byte [ebp - 4], 2
cmp ecx, 8
jb 0x100089c5
mov edx, dword [ebp - 0x80]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100089bb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009c74
push ecx
push edx
call fcn.100348d3
add esp, 8
mov ecx, dword [ebp - 0x190]
xor eax, eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
test ecx, ecx
je 0x100089e9
mov eax, dword [ecx]
push 1
call dword [eax]
mov byte [ebp - 4], 0xd
jmp 0x10009a4c
test edi, edi
je 0x10008a02
push str.__SUCCESS__r_n
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x10008a10
push str.__SUCCESS__r_n
call esi
add esp, 4
test edi, edi
je 0x10008a56
mov eax, dword [ebp - 0x180]
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x10008a24
mov ecx, dword [eax]
movsd xmm0, qword [ebp - 0x1e8]
mulsd xmm0, qword [0x100390a0]
push ecx
push ecx
mov ecx, edi
addsd xmm0, qword [ebp - 0x1e0]
mulsd xmm0, qword [0x100390b8]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.10003950
lea ecx, [ebp - 0x118]
call fcn.10023460
test al, al
jne 0x10008a7f
cmp dword [ebp - 0x108], 6
jb 0x10008d62
test byte [ebp - 0x98], 0x3f
je 0x10008d62
push dword [ebp - 0x184]
lea ecx, [ebp - 0x80]
call fcn.1000ae10
push str..decomp
lea ecx, [ebp - 0x80]
call fcn.10007d20
cmp dword [ebp - 0x6c], 8
lea eax, [ebp - 0x80]
push 1
cmovae eax, dword [ebp - 0x80]
push 1
push 1
push eax
call fcn.10017620
add esp, 0x10
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 4], 0xe
test edi, edi
je 0x10008ad4
push str.Decompressing_bundle_to
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x10008ae2
push str.Decompressing_bundle_to
call esi
add esp, 4
cmp dword [ebp - 0x6c], 8
lea eax, [ebp - 0x80]
cmovae eax, dword [ebp - 0x80]
mov dword [ebp - 0x178], eax
test edi, edi
je 0x10008b05
push eax
mov ecx, edi
call fcn.100023b0
mov eax, dword [ebp - 0x178]
test esi, esi
je 0x10008b38
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x178], 0
push ecx
push eax
call fcn.100347b0
mov esi, eax
push esi
call dword [ebp - 0x17c]
push esi
call fcn.10034700
mov esi, dword [ebp - 0x17c]
add esp, 0x10
mov eax, dword [ebp - 0x188]
test eax, eax
jne 0x10008bbf
mov byte [ebp - 0x171], 1
test edi, edi
je 0x10008b59
push str.__FAILURE__r_n
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x10008b67
push str.__FAILURE__r_n
call esi
add esp, 4
lea ecx, [ebp - 0x118]
call fcn.10022f00
lea ecx, [ebp - 0x118]
call fcn.10022da0
mov eax, dword [ebp - 0x6c]
cmp eax, 8
jb 0x10008b92
inc eax
lea ecx, [ebp - 0x80]
push eax
push dword [ebp - 0x80]
call fcn.1000af20
mov ecx, dword [ebp - 0x190]
xor eax, eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
test ecx, ecx
je 0x10008bb6
mov eax, dword [ecx]
push 1
call dword [eax]
mov byte [ebp - 4], 0xf
jmp 0x10009a4c
push eax
push dword [ebp - 0x190]
lea ecx, [ebp - 0x118]
call fcn.10024d40
test al, al
jne 0x10008c62
mov byte [ebp - 0x171], 1
test edi, edi
je 0x10008bf0
push str.__FAILURE__r_n
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x10008bfe
push str.__FAILURE__r_n
call esi
add esp, 4
lea ecx, [ebp - 0x118]
call fcn.10022f00
mov ecx, dword [ebp - 0x188]
push 1
mov eax, dword [ecx]
call dword [eax]
lea ecx, [ebp - 0x118]
call fcn.10022da0
mov eax, dword [ebp - 0x6c]
cmp eax, 8
jb 0x10008c35
inc eax
lea ecx, [ebp - 0x80]
push eax
push dword [ebp - 0x80]
call fcn.1000af20
mov ecx, dword [ebp - 0x190]
xor eax, eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
test ecx, ecx
je 0x10008c59
mov eax, dword [ecx]
push 1
call dword [eax]
mov byte [ebp - 4], 0x10
jmp 0x10009a4c
lea ecx, [ebp - 0x118]
call fcn.10022f00
mov ecx, dword [ebp - 0x188]
mov dword [ebp - 0x1b0], 0
test ecx, ecx
je 0x10008c87
mov eax, dword [ecx]
push 1
call dword [eax]
cmp dword [ebp - 0x6c], 8
lea eax, [ebp - 0x80]
push 1
cmovae eax, dword [ebp - 0x80]
push 1
push eax
call fcn.10017450
mov ecx, dword [ebp - 0x190]
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x190], edx
mov dword [ebp - 0x194], edx
test ecx, ecx
je 0x10008cd7
mov ecx, dword [ecx]
push 1
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x188]
call edx
mov eax, dword [ebp - 0x178]
test eax, eax
je 0x1000923e
push 0x1000000
push 0
push 0
push eax
lea ecx, [ebp - 0x118]
call fcn.10023e80
test al, al
je 0x1000923e
test edi, edi
je 0x10008d0c
push str.__SUCCESS__r_n
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x10008d1a
push str.__SUCCESS__r_n
call esi
add esp, 4
test edi, edi
je 0x10008d5e
mov eax, dword [ebp - 0x180]
cmp dword [eax + 0x14], 0x10
jb 0x10008d2c
mov eax, dword [eax]
movsd xmm0, qword [ebp - 0x1e8]
mulsd xmm0, qword [0x100390a8]
push eax
push ecx
mov ecx, edi
addsd xmm0, qword [ebp - 0x1e0]
mulsd xmm0, qword [0x100390b8]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.10003950
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x184]
xorps xmm0, xmm0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10008d80
sub ecx, edx
sar ecx, 1
push ecx
push dword [ebp - 0x184]
lea ecx, [ebp - 0x68]
call fcn.100074e0
push str..mod
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x12
call fcn.10007d20
cmp dword [ebp - 0x54], 8
lea eax, [ebp - 0x68]
push 1
cmovae eax, dword [ebp - 0x68]
push 1
push 1
push eax
call fcn.10017620
add esp, 0x10
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x178], eax
mov byte [ebp - 4], 0x13
test edi, edi
je 0x10008de9
push str.Modifying_and_writing_bundle_to
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x10008df7
push str.Modifying_and_writing_bundle_to
call esi
add esp, 4
cmp dword [ebp - 0x54], 8
lea eax, [ebp - 0x68]
cmovae eax, dword [ebp - 0x68]
mov dword [ebp - 0x1b0], eax
test edi, edi
je 0x10008e1a
push eax
mov ecx, edi
call fcn.100023b0
mov eax, dword [ebp - 0x1b0]
test esi, esi
je 0x10008e4d
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x1b0], 0
push ecx
push eax
call fcn.100347b0
mov esi, eax
push esi
call dword [ebp - 0x17c]
push esi
call fcn.10034700
mov esi, dword [ebp - 0x17c]
add esp, 0x10
cmp dword [ebp - 0x180], 0
jne 0x10008f00
mov byte [ebp - 0x171], 1
test edi, edi
je 0x10008e71
push str.__FAILURE__r_n
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x10008e7f
push str.__FAILURE__r_n
call esi
add esp, 4
lea ecx, [ebp - 0x118]
call fcn.10022f00
mov eax, dword [ebp - 0x54]
cmp eax, 8
jb 0x10008e9f
inc eax
lea ecx, [ebp - 0x68]
push eax
push dword [ebp - 0x68]
call fcn.1000af20
xor eax, eax
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], ax
call fcn.10022da0
mov eax, dword [ebp - 0x6c]
cmp eax, 8
jb 0x10008ed3
inc eax
lea ecx, [ebp - 0x80]
push eax
push dword [ebp - 0x80]
call fcn.1000af20
mov ecx, dword [ebp - 0x190]
xor eax, eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
test ecx, ecx
je 0x10008ef7
mov eax, dword [ecx]
push 1
call dword [eax]
mov byte [ebp - 4], 0x14
jmp 0x10009a4c
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x1a4]
mov esi, dword [eax + ecx*8 + 0x20]
sub esi, dword [eax + ecx*8 + 0x1c]
xor eax, eax
sar esi, 3
xor ecx, ecx
mov dword [ebp - 0x1cc], ecx
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x1c4], eax
test esi, esi
je 0x10008f81
cmp esi, 0x3fffffff
ja 0x1000a508
shl esi, 2
push esi
call fcn.100072b0
mov ecx, eax
push esi
push 0
push ecx
lea eax, [ecx + esi]
mov dword [ebp - 0x1cc], ecx
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x1c4], eax
call fcn.1003578d
mov eax, dword [ebp - 0x188]
add esp, 0x10
mov ecx, dword [ebp - 0x1cc]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x19c]
xor edx, edx
mov esi, dword [ebp - 0x1a4]
mov edi, dword [ebp - 0x1a4]
mov byte [ebp - 4], 0x15
mov esi, dword [eax + esi*8 + 0x1c]
mov eax, dword [eax + edi*8 + 0x20]
mov edi, dword [ebp - 0x18c]
sub eax, esi
sar eax, 3
test eax, eax
je 0x10008fda
mov edi, dword [ebp - 0x19c]
mov eax, dword [esi + edx*8]
mov dword [ecx + edx*4], eax
inc edx
mov eax, dword [ebp - 0x1a4]
mov esi, dword [edi + eax*8 + 0x1c]
mov eax, dword [edi + eax*8 + 0x20]
sub eax, esi
sar eax, 3
cmp edx, eax
jb 0x10008fb6
mov edi, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x188]
add eax, 0x4c
mov esi, dword [ebp - 0x17c]
sub edx, ecx
push eax
push esi
sar edx, 2
push edx
push ecx
push dword [ebp - 0x180]
lea ecx, [ebp - 0x118]
push dword [ebp - 0x190]
call fcn.10025f30
test al, al
jne 0x1000912f
mov byte [ebp - 0x171], 1
test edi, edi
je 0x1000902e
push str.__FAILURE__r_n
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x1000903c
push str.__FAILURE__r_n
call esi
add esp, 4
lea ecx, [ebp - 0x118]
call fcn.10022f00
mov ecx, dword [ebp - 0x1cc]
mov byte [ebp - 4], 0x13
test ecx, ecx
je 0x100090ad
mov eax, dword [ebp - 0x1c4]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x10009085
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009c74
push edx
push ecx
call fcn.100348d3
add esp, 8
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0
mov ecx, dword [ebp - 0x180]
push 1
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [ebp - 0x54]
cmp eax, 8
jb 0x100090ce
inc eax
lea ecx, [ebp - 0x68]
push eax
push dword [ebp - 0x68]
call fcn.1000af20
xor eax, eax
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], ax
call fcn.10022da0
mov eax, dword [ebp - 0x6c]
cmp eax, 8
jb 0x10009102
inc eax
lea ecx, [ebp - 0x80]
push eax
push dword [ebp - 0x80]
call fcn.1000af20
mov ecx, dword [ebp - 0x190]
xor eax, eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
test ecx, ecx
je 0x10009126
mov eax, dword [ecx]
push 1
call dword [eax]
mov byte [ebp - 4], 0x16
jmp 0x10009a4c
lea ecx, [ebp - 0x118]
call fcn.10022f00
mov ecx, dword [ebp - 0x180]
mov dword [ebp - 0x178], 0
test ecx, ecx
je 0x10009154
mov eax, dword [ecx]
push 1
call dword [eax]
test edi, edi
je 0x10009164
push str.__SUCCESS__r_n
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x10009172
push str.__SUCCESS__r_n
call esi
add esp, 4
mov ecx, dword [ebp - 0x1cc]
mov byte [ebp - 4], 0x13
test ecx, ecx
je 0x100091d8
mov eax, dword [ebp - 0x1c4]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100091b0
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009c74
push edx
push ecx
call fcn.100348d3
add esp, 8
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 4], 0xc
cmp ecx, 8
jb 0x10009216
mov edx, dword [ebp - 0x68]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000920c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009c74
push ecx
push edx
call fcn.100348d3
add esp, 8
xor eax, eax
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], ax
mov byte [ebp - 4], 4
call fcn.10022da0
jmp 0x10009946
mov byte [ebp - 0x171], 1
test edi, edi
je 0x10009255
push str.__FAILURE__r_n
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x10009263
push str.__FAILURE__r_n
call esi
add esp, 4
lea ecx, [ebp - 0x118]
call fcn.10022da0
mov eax, dword [ebp - 0x6c]
cmp eax, 8
jb 0x10009283
inc eax
lea ecx, [ebp - 0x80]
push eax
push dword [ebp - 0x80]
call fcn.1000af20
mov ecx, dword [ebp - 0x178]
xor eax, eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
test ecx, ecx
je 0x100092a7
mov eax, dword [ecx]
push 1
call dword [eax]
mov byte [ebp - 4], 0x11
jmp 0x10009a4c
test edi, edi
je 0x100092c0
push str.Opening_assets
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x100092ce
push str.Opening_assets
call esi
add esp, 4
push dword [ebp - 0x190]
lea ecx, [ebp - 0x170]
call fcn.1001a1c0
push 0
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 5
call fcn.1001d2d0
test al, al
jne 0x10009393
mov byte [ebp - 0x171], 1
test edi, edi
je 0x1000930f
push str.__FAILURE__r_n
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x1000931d
push str.__FAILURE__r_n
call esi
add esp, 4
lea ecx, [ebp - 0x170]
call fcn.1001ac90
mov ecx, dword [ebp - 0x6c]
mov byte [ebp - 4], 2
cmp ecx, 8
jb 0x10009366
mov edx, dword [ebp - 0x80]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000935c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009c74
push ecx
push edx
call fcn.100348d3
add esp, 8
mov ecx, dword [ebp - 0x190]
xor eax, eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
test ecx, ecx
je 0x1000938a
mov eax, dword [ecx]
push 1
call dword [eax]
mov byte [ebp - 4], 6
jmp 0x10009a4c
test edi, edi
je 0x100093a3
push str.__SUCCESS__r_n
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x100093b1
push str.__SUCCESS__r_n
call esi
add esp, 4
test edi, edi
je 0x100093f7
mov eax, dword [ebp - 0x180]
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x100093c5
mov ecx, dword [eax]
movsd xmm0, qword [ebp - 0x1e8]
mulsd xmm0, qword [0x10039098]
push ecx
push ecx
mov ecx, edi
addsd xmm0, qword [ebp - 0x1e0]
mulsd xmm0, qword [0x100390b8]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.10003950
mov ecx, dword [ebp - 0x184]
xorps xmm0, xmm0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10009415
sub ecx, edx
sar ecx, 1
push ecx
push dword [ebp - 0x184]
lea ecx, [ebp - 0x68]
call fcn.100074e0
push str..mod
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 7
call fcn.10007d20
cmp dword [ebp - 0x54], 8
lea eax, [ebp - 0x68]
push 1
cmovae eax, dword [ebp - 0x68]
push 1
push 1
push eax
call fcn.10017620
add esp, 0x10
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 4], 8
test edi, edi
je 0x1000947e
push str.Modifying_and_writing_assets_to
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x1000948c
push str.Modifying_and_writing_assets_to
call esi
add esp, 4
cmp dword [ebp - 0x54], 8
lea eax, [ebp - 0x68]
cmovae eax, dword [ebp - 0x68]
mov dword [ebp - 0x1b0], eax
test edi, edi
je 0x100094af
push eax
mov ecx, edi
call fcn.100023b0
mov eax, dword [ebp - 0x1b0]
test esi, esi
je 0x100094e2
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x1b0], 0
push ecx
push eax
call fcn.100347b0
mov esi, eax
push esi
call dword [ebp - 0x17c]
push esi
call fcn.10034700
mov esi, dword [ebp - 0x17c]
add esp, 0x10
mov ecx, dword [ebp - 0x178]
test ecx, ecx
jne 0x1000958b
mov byte [ebp - 0x171], 1
test edi, edi
je 0x10009507
push str.__FAILURE__r_n
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x10009515
push str.__FAILURE__r_n
call esi
add esp, 4
mov eax, dword [ebp - 0x54]
cmp eax, 8
jb 0x1000952a
inc eax
lea ecx, [ebp - 0x68]
push eax
push dword [ebp - 0x68]
call fcn.1000af20
xor eax, eax
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], ax
call fcn.1001ac90
mov eax, dword [ebp - 0x6c]
cmp eax, 8
jb 0x1000955e
inc eax
lea ecx, [ebp - 0x80]
push eax
push dword [ebp - 0x80]
call fcn.1000af20
mov ecx, dword [ebp - 0x190]
xor eax, eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
test ecx, ecx
je 0x10009582
mov eax, dword [ecx]
push 1
call dword [eax]
mov byte [ebp - 4], 9
jmp 0x10009a4c
test edi, edi
je 0x100095cf
mov eax, dword [ebp - 0x180]
cmp dword [eax + 0x14], 0x10
jb 0x1000959d
mov eax, dword [eax]
movsd xmm0, qword [ebp - 0x1e8]
mulsd xmm0, qword [0x100390a0]
push eax
push ecx
mov ecx, edi
addsd xmm0, qword [ebp - 0x1e0]
mulsd xmm0, qword [0x100390b8]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.10003950
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x1a4]
mov esi, dword [eax + ecx*8 + 0x20]
sub esi, dword [eax + ecx*8 + 0x1c]
xor eax, eax
sar esi, 3
xor ecx, ecx
mov dword [ebp - 0x1d8], ecx
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1d0], eax
test esi, esi
je 0x10009650
cmp esi, 0x3fffffff
ja 0x1000a50d
shl esi, 2
push esi
call fcn.100072b0
mov ecx, eax
push esi
push 0
push ecx
lea eax, [esi + ecx]
mov dword [ebp - 0x1d8], ecx
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x1d0], eax
call fcn.1003578d
mov eax, dword [ebp - 0x188]
add esp, 0x10
mov ecx, dword [ebp - 0x1d8]
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x19c]
xor edx, edx
mov esi, dword [ebp - 0x1a4]
mov edi, dword [ebp - 0x1a4]
mov byte [ebp - 4], 0xa
mov esi, dword [eax + esi*8 + 0x1c]
mov eax, dword [eax + edi*8 + 0x20]
mov edi, dword [ebp - 0x18c]
sub eax, esi
sar eax, 3
test eax, eax
je 0x100096a9
mov edi, dword [ebp - 0x19c]
mov eax, dword [esi + edx*8]
mov dword [ecx + edx*4], eax
inc edx
mov eax, dword [ebp - 0x1a4]
mov esi, dword [edi + eax*8 + 0x1c]
mov eax, dword [edi + eax*8 + 0x20]
sub eax, esi
sar eax, 3
cmp edx, eax
jb 0x10009685
mov edi, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x188]
add eax, 0x4c
mov esi, dword [ebp - 0x178]
sub edx, ecx
push eax
push 0
sar edx, 2
push edx
push ecx
push 0
push 0
push esi
lea ecx, [ebp - 0x170]
call fcn.1001d880
or eax, edx
jne 0x10009845
mov byte [ebp - 0x171], 1
test edi, edi
je 0x100096f7
push str.__FAILURE__r_n
mov ecx, edi
call fcn.10002300
mov esi, dword [ebp - 0x17c]
test esi, esi
je 0x1000970b
push str.__FAILURE__r_n
call esi
add esp, 4
mov ecx, dword [ebp - 0x1d8]
mov byte [ebp - 4], 8
test ecx, ecx
je 0x10009771
mov eax, dword [ebp - 0x1d0]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x10009749
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009c74
push edx
push ecx
call fcn.100348d3
add esp, 8
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0
mov ecx, dword [ebp - 0x178]
push 1
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 4], 5
cmp ecx, 8
jb 0x100097bb
mov edx, dword [ebp - 0x68]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100097b1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009c74
push ecx
push edx
call fcn.100348d3
add esp, 8
xor eax, eax
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], ax
call fcn.1001ac90
mov ecx, dword [ebp - 0x6c]
mov byte [ebp - 4], 2
cmp ecx, 8
jb 0x10009818
mov edx, dword [ebp - 0x80]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000980e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009c74
push ecx
push edx
call fcn.100348d3
add esp, 8
mov ecx, dword [ebp - 0x190]
xor eax, eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
test ecx, ecx
je 0x1000983c
mov eax, dword [ecx]
push 1
call dword [eax]
mov byte [ebp - 4], 0xb
jmp 0x10009a4c
mov dword [ebp - 0x1a0], 0
test esi, esi
je 0x1000985b
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
test edi, edi
je 0x1000986b
push str.__SUCCESS__r_n
mov ecx, edi
call fcn.10002300
mov esi, dword [ebp - 0x17c]
test esi, esi
je 0x1000987f
push str.__SUCCESS__r_n
call esi
add esp, 4
mov ecx, dword [ebp - 0x1d8]
mov byte [ebp - 4], 8
test ecx, ecx
je 0x100098e5
mov eax, dword [ebp - 0x1d0]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100098bd
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009c74
push edx
push ecx
call fcn.100348d3
add esp, 8
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 4], 5
cmp ecx, 8
jb 0x10009923
mov edx, dword [ebp - 0x68]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10009919
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009c74
push ecx
push edx
call fcn.100348d3
add esp, 8
xor eax, eax
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], ax
mov byte [ebp - 4], 4
call fcn.1001ac90
mov ecx, dword [ebp - 0x198]
push dword [ebp - 0x184]
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [ebp - 0x1f4]
lea ecx, [ecx + eax*4]
call fcn.1000ae10
mov ecx, dword [ebp - 0x190]
mov dword [ebp - 0x194], 0
test ecx, ecx
je 0x10009983
mov eax, dword [ecx]
push 1
call dword [eax]
cmp dword [ebp - 0x70], 0
je 0x100099f6
test edi, edi
je 0x10009999
push str.Deleting_decompressed_unmodded_file
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x100099a7
push str.Deleting_decompressed_unmodded_file
call esi
add esp, 4
cmp dword [ebp - 0x6c], 8
lea eax, [ebp - 0x80]
cmovae eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x100099d8
test edi, edi
je 0x100099cd
push str.__SUCCESS__r_n
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x100099f6
push str.__SUCCESS__r_n
jmp 0x100099f1
test edi, edi
je 0x100099e8
push str.__FAILURE__r_n
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x100099f6
push str.__FAILURE__r_n
call esi
add esp, 4
mov ecx, dword [ebp - 0x6c]
mov byte [ebp - 4], 2
cmp ecx, 8
jb 0x10009a34
mov edx, dword [ebp - 0x80]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10009a2a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009c74
push ecx
push edx
call fcn.100348d3
add esp, 8
xor eax, eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x184]
test eax, eax
je 0x10009a5f
push eax
call fcn.10034700
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x1a8]
inc dword [ebp - 0x198]
mov ecx, dword [eax + 0x84]
sub ecx, dword [eax + 0x80]
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x198]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jb 0x10008288
test edi, edi
je 0x10009ddd
mov ecx, edi
call fcn.100024a0
mov ecx, edi
call fcn.10002e60
test al, al
je 0x10009dc9
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [eax + 0x84]
sub ecx, dword [eax + 0x80]
mov eax, 0x66666667
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [ebp - 0x194], ecx
je 0x10009d97
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [ebp - 0x1f4]
add ecx, 0xffffffe4
lea eax, [ecx + eax*4]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x1a8]
push 0x10038a94
mov ecx, dword [eax + 0x84]
sub ecx, dword [eax + 0x80]
mov eax, 0x66666667
imul ecx
mov eax, dword [ebp - 0x194]
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
movd xmm0, ecx
addsd xmm1, qword [eax*8 + 0x100390c0]
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
push ecx
mulsd xmm1, qword [0x100390b0]
addsd xmm0, qword [ecx*8 + 0x100390c0]
mov ecx, edi
divsd xmm1, xmm0
mulsd xmm1, qword [0x100390b8]
cvtpd2ps xmm0, xmm1
movss dword [esp], xmm0
call fcn.10003950
mov eax, dword [ebp - 0x18c]
cmp dword [eax + 0x10], 0
je 0x10009d74
push str.Removing_modded_file_of
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x10009ba7
push str.Removing_modded_file_of
call esi
add esp, 4
mov eax, dword [ebp - 0x18c]
mov ecx, eax
mov dword [ebp - 0x178], eax
cmp dword [eax + 0x14], 8
jb 0x10009bc3
mov ecx, dword [eax]
mov dword [ebp - 0x178], ecx
push ecx
mov ecx, edi
call fcn.100023b0
test esi, esi
je 0x10009bfd
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x1a0], 0
push eax
push dword [ebp - 0x178]
call fcn.100347b0
mov esi, eax
push esi
call dword [ebp - 0x17c]
push esi
call fcn.10034700
add esp, 0x10
mov ecx, dword [ebp - 0x18c]
mov eax, 0x7ffffffe
mov edx, dword [ecx + 0x10]
sub eax, edx
mov dword [ebp - 0x180], edx
cmp eax, 4
jb 0x1000a512
cmp dword [ecx + 0x14], 8
mov dword [ebp - 0x178], ecx
jb 0x10009c30
mov eax, dword [ecx]
mov dword [ebp - 0x178], eax
lea ecx, [edx + 4]
mov dword [ebp - 0x58], 0
mov esi, 7
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x1a0], ecx
xorps xmm0, xmm0
lea eax, [ebp - 0x68]
mov dword [ebp - 0x188], eax
movups xmmword [ebp - 0x68], xmm0
cmp ecx, esi
jbe 0x10009ca6
mov esi, ecx
or esi, 7
cmp esi, 0x7ffffffe
jbe 0x10009c7a
mov esi, 0x7ffffffe
jmp 0x10009c85
call dword [0x100371f8]
cmp esi, 0xa
mov eax, 0xa
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x68]
call fcn.1000adb0
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x180]
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x54], esi
lea esi, [edx + edx]
push esi
push dword [ebp - 0x178]
mov dword [ebp - 0x58], ecx
push eax
call fcn.10035793
mov eax, dword [ebp - 0x188]
xor edx, edx
mov ecx, dword [ebp - 0x180]
add esp, 0xc
mov dword [esi + eax], 0x6d002e
mov dword [esi + eax + 4], 0x64006f
mov word [eax + ecx*2 + 8], dx
cmp dword [ebp - 0x54], 8
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x1b
cmovae eax, dword [ebp - 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, edi
test eax, eax
je 0x10009d18
push str.__SUCCESS__r_n
call fcn.10002300
mov eax, dword [ebp - 0x17c]
test eax, eax
je 0x10009d36
push str.__SUCCESS__r_n
jmp 0x10009d31
push str.__FAILURE__r_n
call fcn.10002300
mov eax, dword [ebp - 0x17c]
test eax, eax
je 0x10009d36
push str.__FAILURE__r_n
call eax
add esp, 4
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 4], 0
cmp ecx, 8
jb 0x10009d74
mov edx, dword [ebp - 0x68]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10009d6a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009c74
push ecx
push edx
call fcn.100348d3
add esp, 8
mov eax, dword [ebp - 0x194]
sub dword [ebp - 0x18c], 0x1c
dec eax
mov dword [ebp - 0x194], eax
test eax, eax
je 0x10009d97
mov esi, dword [ebp - 0x17c]
jmp 0x10009b02
push 0x10038a94
push ecx
mov ecx, edi
mov dword [esp], 0
call fcn.10003950
mov eax, dword [ebp - 0x1c0]
test eax, eax
je 0x10009dc1
push str.The_mod_installation_is_cancelled._No_changes_have_been_applied_to_the_files._All_temporary_files_have_been_removed._r_n
mov ecx, eax
call fcn.100037d0
or esi, 0xffffffff
jmp 0x1000a4b4
push 0x10038a94
push ecx
mov ecx, edi
mov dword [esp], 0x42c60000
call fcn.10003950
cmp byte [ebp - 0x171], 0
je 0x10009e06
mov eax, dword [ebp - 0x1c0]
test eax, eax
je 0x10009dfc
push str.At_least_one_error_occured_while_installing_the_mod._r_nSuccessfully_modified_files__if_there_are_any__are_saved_as_.mod_files._r_nPress_back_and_see_the_log_for_more_details._r_n
mov ecx, eax
call fcn.100037d0
mov esi, 0xfffffffe
jmp 0x1000a49c
mov eax, dword [ebp - 0x1a8]
mov byte [ebp - 0x172], 1
mov dword [ebp - 0x178], 0
mov ecx, dword [eax + 0x84]
mov dword [ebp - 0x194], ecx
sub ecx, dword [eax + 0x80]
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1000a484
mov dword [ebp - 0x188], 0
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x194]
sub ecx, dword [eax + 0x80]
mov eax, 0x66666667
imul ecx
mov eax, dword [ebp - 0x178]
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
movd xmm0, ecx
addsd xmm1, qword [eax*8 + 0x100390c0]
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
mulsd xmm1, qword [0x10039090]
addsd xmm0, qword [ecx*8 + 0x100390c0]
divsd xmm1, xmm0
addsd xmm1, qword [0x100390b0]
test edi, edi
je 0x10009ef2
mov edx, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x188]
mov eax, dword [edx + 0x80]
add eax, 4
add eax, ecx
cmp dword [eax + 0x14], 0x10
jb 0x10009ed8
mov eax, dword [eax]
mulsd xmm1, qword [0x100390b8]
push eax
push ecx
mov ecx, edi
cvtpd2ps xmm0, xmm1
movss dword [esp], xmm0
call fcn.10003950
mov edx, dword [ebp - 0x1ac]
cmp dword [edx + 0x10], 0
je 0x1000a407
xor eax, eax
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x1b4], eax
mov byte [ebp - 4], 0x1c
cmp byte [edx + 0x18], al
je 0x1000a1ee
test edi, edi
je 0x10009f3f
push str.Swapping_original_and_mod_of
mov ecx, edi
call fcn.10002300
test esi, esi
je 0x10009f4d
push str.Swapping_original_and_mod_of
call esi
add esp, 4
mov ecx, dword [ebp - 0x1ac]
mov eax, ecx
mov dword [ebp - 0x194], ecx
cmp dword [ecx + 0x14], 8
jb 0x10009f69
mov eax, dword [ecx]
mov dword [ebp - 0x194], eax
test edi, edi
je 0x10009f75
push eax
mov ecx, edi
call fcn.100023b0
test esi, esi
je 0x10009fa7
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x1a0], 0
push eax
push dword [ebp - 0x194]
call fcn.100347b0
mov esi, eax
push esi
call dword [ebp - 0x17c]
push esi
call fcn.10034700
add esp, 0x10
mov esi, dword [ebp - 0x1ac]
cmp dword [esi + 0x14], 8
mov eax, dword [esi + 0x10]
jb 0x10009fbf
mov ecx, dword [esi]
mov edx, ecx
lea eax, [ecx + eax*2]
jmp 0x10009fc4
lea eax, [esi + eax*2]
mov edx, esi
sub eax, edx
lea ecx, [ebp - 0x1bc]
sar eax, 1
push eax
push edx
call fcn.10007300
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x180], 0xffffffff
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x198], eax
jmp 0x1000a008
mov eax, esi
mov esi, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x1b8]
mov edx, ecx
mov esi, dword [esi + 0x10]
sub edx, eax
sar edx, 1
cmp esi, edx
jae 0x1000a026
lea esi, [eax + esi*2]
mov dword [ebp - 0x1b8], esi
jmp 0x1000a057
jbe 0x1000a051
mov eax, dword [ebp - 0x1b4]
sub eax, dword [ebp - 0x198]
sar eax, 1
cmp esi, eax
jbe 0x1000a0d2
lea eax, [ebp - 0x171]
push eax
push esi
lea ecx, [ebp - 0x1bc]
call fcn.10007930
mov esi, dword [ebp - 0x1b8]
push dword [ebp - 0x18c]
lea eax, [ebp - 0x50]
push str..bak_04d
push eax
call fcn.10007ac0
lea ecx, [ebp - 0x50]
add esp, 0xc
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1000a074
sub ecx, edx
lea eax, [ebp - 0x4e]
sar ecx, 1
lea eax, [eax + ecx*2]
lea ecx, [ebp - 0x50]
sub eax, ecx
sar eax, 1
push eax
mov eax, ecx
lea ecx, [ebp - 0x1bc]
push eax
push esi
call fcn.10007660
mov esi, dword [ebp - 0x1bc]
push esi
mov dword [ebp - 0x198], esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x18c]
je 0x1000a0f9
inc eax
mov dword [ebp - 0x18c], eax
cmp eax, 0x2710
jl 0x1000a000
jmp 0x1000a0ff
sub esi, edx
add esi, esi
push esi
push 0
push ecx
call fcn.1003578d
add esp, 0xc
add dword [ebp - 0x1b8], esi
mov esi, dword [ebp - 0x1b8]
mov dword [ebp - 0x1b8], esi
jmp 0x1000a057
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x194], eax
cmp ecx, eax
je 0x1000a12f
xor eax, eax
mov word [ecx], ax
add ecx, 2
mov dword [ebp - 0x1b8], ecx
jmp 0x1000a15a
lea eax, [ebp - 0x1a0]
push eax
push ecx
lea ecx, [ebp - 0x1bc]
call fcn.10007590
mov eax, dword [ebp - 0x1b4]
mov esi, dword [ebp - 0x1bc]
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x198], esi
cmp dword [ebp - 0x180], 0xffffffff
jne 0x1000a197
mov byte [ebp - 0x172], 0
test edi, edi
je 0x1000a17a
push str.__FAILURE__r_nIt_seems_like_you_already_have_10000_backups____r_n
mov ecx, edi
call fcn.10002300
mov eax, dword [ebp - 0x17c]
test eax, eax
je 0x1000a3a2
push str.__FAILURE__r_nIt_seems_like_you_already_have_10000_backups____r_n
call eax
add esp, 4
jmp 0x1000a3a2
mov ecx, dword [ebp - 0x1ac]
mov eax, ecx
cmp dword [ecx + 0x14], 8
jb 0x1000a1a7
mov eax, dword [ecx]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileW]
push eax
call esi
test eax, eax
jne 0x1000a1e8
mov byte [ebp - 0x172], al
test edi, edi
je 0x1000a1cb
push str.__FAILURE__r_nUnable_to_rename_the_original_file._r_n
mov ecx, edi
call fcn.10002300
mov eax, dword [ebp - 0x17c]
test eax, eax
je 0x1000a3a2
push str.__FAILURE__r_nUnable_to_rename_the_original_file._r_n
call eax
add esp, 4
jmp 0x1000a3a2
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [edx + 0x10]
mov eax, 0x7ffffffe
sub eax, ecx
mov dword [ebp - 0x19c], ecx
cmp eax, 4
jb 0x1000a512
cmp dword [edx + 0x14], 8
mov dword [ebp - 0x18c], edx
jb 0x1000a21b
mov eax, dword [edx]
mov dword [ebp - 0x18c], eax
add ecx, 4
mov dword [ebp - 0x58], 0
mov esi, 7
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x1a0], ecx
xorps xmm0, xmm0
lea eax, [ebp - 0x68]
mov dword [ebp - 0x180], eax
movups xmmword [ebp - 0x68], xmm0
cmp ecx, esi
jbe 0x1000a285
mov esi, ecx
or esi, 7
cmp esi, 0x7ffffffe
jbe 0x1000a25f
mov esi, 0x7ffffffe
jmp 0x1000a26a
cmp esi, 0xa
mov eax, 0xa
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x68]
call fcn.1000adb0
mov ecx, dword [ebp - 0x1a0]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x54], esi
mov esi, dword [ebp - 0x19c]
add esi, esi
mov dword [ebp - 0x58], ecx
push esi
push dword [ebp - 0x18c]
push eax
call fcn.10035793
mov eax, dword [ebp - 0x180]
xor edx, edx
mov ecx, dword [ebp - 0x19c]
add esp, 0xc
mov dword [esi + eax], 0x6d002e
mov dword [esi + eax + 4], 0x64006f
mov word [eax + ecx*2 + 8], dx
mov eax, dword [ebp - 0x1ac]
mov ecx, eax
mov byte [ebp - 4], 0x1d
cmp dword [eax + 0x14], 8
jb 0x1000a2d9
mov ecx, dword [eax]
cmp dword [ebp - 0x54], 8
lea eax, [ebp - 0x68]
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileW]
cmovae eax, dword [ebp - 0x68]
push ecx
push eax
call esi
test eax, eax
jne 0x1000a340
mov byte [ebp - 0x172], al
test edi, edi
je 0x1000a308
push str.__FAILURE__r_nUnable_to_rename_the_modded_file._r_n
mov ecx, edi
call fcn.10002300
mov eax, dword [ebp - 0x17c]
test eax, eax
je 0x1000a31c
push str.__FAILURE__r_nUnable_to_rename_the_modded_file._r_n
call eax
add esp, 4
mov eax, dword [ebp - 0x198]
cmp eax, dword [ebp - 0x1b8]
je 0x1000a364
mov edx, dword [ebp - 0x1ac]
mov ecx, edx
cmp dword [edx + 0x14], 8
jb 0x1000a33a
mov ecx, dword [edx]
push ecx
push eax
call esi
jmp 0x1000a364
test edi, edi
je 0x1000a350
push str.__SUCCESS__r_n
mov ecx, edi
call fcn.10002300
mov eax, dword [ebp - 0x17c]
test eax, eax
je 0x1000a364
push str.__SUCCESS__r_n
call eax
add esp, 4
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 4], 0x1c
cmp ecx, 8
jb 0x1000a3a2
mov edx, dword [ebp - 0x68]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000a398
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009c74
push ecx
push edx
call fcn.100348d3
add esp, 8
mov ecx, dword [ebp - 0x198]
mov byte [ebp - 4], 0
test ecx, ecx
je 0x1000a401
mov edx, dword [ebp - 0x194]
mov eax, ecx
sub edx, ecx
and edx, 0xfffffffe
cmp edx, 0x1000
jb 0x1000a3d9
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009c74
push edx
push ecx
call fcn.100348d3
add esp, 8
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0
mov edx, dword [ebp - 0x1ac]
mov esi, dword [ebp - 0x178]
add edx, 0x1c
add dword [ebp - 0x188], 0x28
inc esi
mov dword [ebp - 0x1ac], edx
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x178], esi
mov eax, dword [edx + 0x84]
mov ecx, eax
sub ecx, dword [edx + 0x80]
mov dword [ebp - 0x194], eax
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x1000a45e
mov esi, dword [ebp - 0x17c]
jmp 0x10009e50
cmp byte [ebp - 0x172], 0
jne 0x1000a484
mov eax, dword [ebp - 0x1c0]
test eax, eax
je 0x1000a47d
push str.The_mod_is_not_completely_installed._Not_all_original_files_were_moved_to_backup_files__.bak__number__and_swapped_with_modded_ones._Some_modified_files_still_have_a_.mod_file_name._r_nSee_the_log_for_more_details._r_n
mov ecx, eax
call fcn.100037d0
mov esi, 0xfffffffd
jmp 0x1000a49c
mov eax, dword [ebp - 0x1c0]
test eax, eax
je 0x1000a49a
push str.The_mod_has_been_installed_successfully_and_should_now_be_usable._The_old_files_are_preserved_with_.bak__number_file_names._r_n
mov ecx, eax
call fcn.100037d0
xor esi, esi
test edi, edi
je 0x1000a4b4
push 0x10038a94
push ecx
mov ecx, edi
mov dword [esp], 0x42c80000
call fcn.10003950
mov ecx, dword [ebp - 0x1c0]
test ecx, ecx
je 0x1000a4d5
mov eax, dword [ebp - 0x1a8]
add eax, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x1000a4cf
mov eax, dword [eax]
push eax
call fcn.10003610
test edi, edi
je 0x1000a4e0
mov ecx, edi
call fcn.100024c0
lea ecx, [ebp - 0x1f4]
call fcn.1000acb0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100348ef
mov esp, ebp
pop ebp
ret
call fcn.10003cc0
call fcn.10003cc0
call fcn.10005ca0
int3