Function at 0x100068b0
Capabilities:
Check if file exists
Delete file
Get file attributes
Move file
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1001fa76
mov eax, dword fs:[0]
push eax
sub esp, 0x1c0
mov eax, dword [0x10025018]
xor eax, esp
mov dword [esp + 0x1b8], eax
push ebx
push esi
push edi
mov eax, dword [0x10025018]
xor eax, esp
push eax
lea eax, [esp + 0x1d0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x40], eax
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x50]
sub ecx, dword [eax + 0x4c]
mov dword [esp + 0x4c], edx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], ebx
fild dword [esp + 0x28]
mov byte [esp + 0x17], 0
jns 0x10006932
fadd qword [0x100224d0]
fdivr qword [0x100224c8]
xor ecx, ecx
mov edx, 4
mul edx
fstp qword [esp + 0x54]
seto cl
neg ecx
or ecx, eax
push ecx
call dword [0x10020128]
mov esi, dword [esp + 0x44]
mov ecx, dword [esi + 0x50]
sub ecx, dword [esi + 0x4c]
mov edi, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, eax
add esp, 4
add eax, eax
push eax
push 0
push edi
mov dword [esp + 0x54], edi
call fcn.1001f110
mov ecx, dword [esi + 0x50]
sub ecx, dword [esi + 0x4c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add esp, 0xc
add eax, edx
mov dword [esp + 0x3c], 0
je 0x10007597
test ebx, ebx
je 0x100069ba
cmp byte [ebx + 0x30], 0
jne 0x10007597
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov esi, dword [esi + 0x4c]
lea edx, [ecx + ecx*2]
lea edi, [esi + edx*8]
mov dword [esp + 0x28], ecx
fild dword [esp + 0x28]
mov dword [esp + 0x50], edi
test ecx, ecx
jns 0x100069e1
fadd qword [0x100224d0]
fmul qword [0x100224c8]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
test eax, eax
jns 0x100069f9
fadd qword [0x100224d0]
fdivp st(1)
fst qword [esp + 0x5c]
test ebx, ebx
je 0x10006a22
fmul qword [0x10022480]
mov eax, dword [edi + 4]
push eax
push ecx
fstp dword [esp + 0x28]
mov esi, ebx
fld dword [esp + 0x28]
fstp dword [esp]
call fcn.100034a0
jmp 0x10006a24
fstp st(0)
mov eax, dword [edi + 4]
lea ecx, [esp + 0x34]
push ecx
push eax
call fcn.10007e20
add esp, 8
mov esi, eax
mov dword [esp + 0x24], esi
test ebx, ebx
je 0x10006a4b
mov ecx, str.Opening_file
mov edi, ebx
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10006a5d
push str.Opening_file
call eax
add esp, 4
test ebx, ebx
je 0x10006a6b
push esi
call fcn.10003550
mov ebx, dword [esp + 0x1c]
cmp dword [esp + 0x18], 0
je 0x10006aa1
lea edx, [esp + 0x20]
push edx
push esi
mov dword [esp + 0x28], 0
call fcn.10007d90
mov edi, eax
push edi
call dword [esp + 0x24]
add esp, 0xc
cmp edi, 0x10020d78
je 0x10006aa1
push edi
call dword [0x10020110]
add esp, 4
mov ecx, esi
call fcn.1000d700
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x10006aef
cmp esi, 0x10020b34
je 0x10006ac2
push esi
call dword [0x10020110]
add esp, 4
mov byte [esp + 0x17], 1
test ebx, ebx
je 0x10006ad7
mov ecx, str.__FAILURE__r_n
mov edi, ebx
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1000756b
push str.__FAILURE__r_n
call eax
jmp 0x10007568
mov byte [esp + 0x33], 0
mov dword [esp + 0x38], 0
test ebx, ebx
je 0x10006b0c
mov ecx, str.__SUCCESS__r_n
mov edi, ebx
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10006b1e
push str.__SUCCESS__r_n
call eax
add esp, 4
mov eax, dword [esp + 0x50]
cmp byte [eax + 1], 0
je 0x1000718a
test ebx, ebx
je 0x10006b3c
mov ecx, str.Opening_bundle
mov edi, ebx
call fcn.10003610
mov eax, dword [esp + 0x18]
xor esi, esi
cmp eax, esi
je 0x10006b50
push str.Opening_bundle
call eax
add esp, 4
mov dword [esp + 0xdc], esi
mov dword [esp + 0xe0], esi
mov dword [esp + 0xf4], esi
mov ecx, dword [esp + 0x2c]
push 1
push ecx
lea ebx, [esp + 0x6c]
mov dword [esp + 0x1e0], esi
call fcn.10014830
test al, al
jne 0x10006bb2
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x17], 1
test edi, edi
je 0x10006b97
mov ecx, str.__FAILURE__r_n
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1000716d
push str.__FAILURE__r_n
call eax
add esp, 4
jmp 0x1000716d
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x10006bc6
mov ecx, str.__SUCCESS__r_n
mov edi, esi
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10006bd8
push str.__SUCCESS__r_n
call eax
add esp, 4
test esi, esi
je 0x10006c09
fld qword [esp + 0x54]
mov edx, dword [esp + 0x50]
fmul qword [0x100224c0]
mov eax, dword [edx + 4]
push eax
push ecx
fadd qword [esp + 0x64]
fmul qword [0x10022480]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
call fcn.100034a0
mov eax, dword [esp + 0x74]
cmp eax, 3
jne 0x10006da0
mov ecx, str.UnityWeb
lea eax, [esp + 0x64]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10006c40
test dl, dl
je 0x10006c3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10006c40
add eax, 2
add ecx, 2
test dl, dl
jne 0x10006c20
xor eax, eax
jmp 0x10006c45
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10006de5
mov edi, dword [esp + 0x34]
xor ecx, ecx
lea eax, [edi + 5]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call dword [0x10020128]
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x24]
add edi, edi
push edi
push eax
push esi
call fcn.1001f10a
mov eax, str..mod
sub edi, eax
add esp, 0xc
add edi, esi
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edi + eax], cx
add eax, 2
test cx, cx
jne 0x10006c90
mov ecx, esi
call fcn.1000e320
cmp dword [esp + 0x1c], 0
mov ebx, eax
mov dword [esp + 0x20], ebx
je 0x10006cc1
mov edi, dword [esp + 0x1c]
mov ecx, str.Modifying_and_writing_bundle_to
call fcn.10003610
mov edi, dword [esp + 0x18]
test edi, edi
je 0x10006cd3
push str.Modifying_and_writing_bundle_to
call edi
add esp, 4
cmp dword [esp + 0x1c], 0
je 0x10006ce8
mov ebx, dword [esp + 0x1c]
push esi
call fcn.10003550
mov ebx, dword [esp + 0x20]
test edi, edi
je 0x10006d1f
lea ecx, [esp + 0x44]
push ecx
push esi
mov dword [esp + 0x4c], 0
call fcn.10007d90
mov edi, eax
push edi
call dword [esp + 0x24]
add esp, 0xc
cmp edi, 0x10020d78
je 0x10006d1b
push edi
call dword [0x10020110]
add esp, 4
mov edi, dword [esp + 0x18]
test ebx, ebx
jne 0x100070aa
mov byte [esp + 0x17], 1
cmp dword [esp + 0x1c], ebx
je 0x10006d44
mov edi, dword [esp + 0x1c]
mov ecx, str.__FAILURE__r_n
call fcn.10003610
mov edi, dword [esp + 0x18]
test edi, edi
je 0x10006d52
push str.__FAILURE__r_n
call edi
add esp, 4
cmp dword [esp + 0x38], 0
je 0x10006d67
mov edx, dword [esp + 0x38]
push edx
call dword [0x1002011c]
add esp, 4
lea edi, [esp + 0x64]
call fcn.10010880
push esi
call dword [0x1002011c]
mov eax, dword [esp + 0x28]
add esp, 4
cmp eax, 0x10020b34
je 0x10006d8f
push eax
call dword [0x10020110]
add esp, 4
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
jmp 0x10006f16
cmp eax, 6
jne 0x10006c4d
test byte [esp + 0xe4], 0x3f
mov eax, dword [esp + 0xf4]
setne bl
test eax, eax
je 0x10006ddd
mov edx, dword [eax + 0x10]
xor ecx, ecx
test edx, edx
je 0x10006ddd
mov eax, dword [eax + 0x14]
add eax, 8
mov edi, edi
test byte [eax], 0x3f
jne 0x10006de5
inc ecx
add eax, 0xc
cmp ecx, edx
jb 0x10006dd0
test bl, bl
je 0x10006c4d
mov edi, dword [esp + 0x34]
xor ecx, ecx
lea eax, [edi + 8]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call dword [0x10020128]
mov ebx, dword [esp + 0x28]
add esp, 4
add edi, edi
push edi
mov esi, eax
push ebx
push esi
mov dword [esp + 0x44], esi
call fcn.1001f10a
mov eax, str..decomp
sub edi, eax
add esp, 0xc
add edi, esi
movzx ecx, word [eax]
mov word [edi + eax], cx
add eax, 2
test cx, cx
jne 0x10006e26
mov ecx, esi
call fcn.1000e320
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x20], eax
je 0x10006e55
mov edi, dword [esp + 0x1c]
mov ecx, str.Decompressing_bundle_to
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10006e67
push str.Decompressing_bundle_to
call eax
add esp, 4
cmp dword [esp + 0x1c], 0
je 0x10006e7c
mov ebx, dword [esp + 0x1c]
push esi
call fcn.10003550
mov ebx, dword [esp + 0x24]
cmp dword [esp + 0x18], 0
je 0x10006eb2
lea eax, [esp + 0x44]
push eax
push esi
mov dword [esp + 0x4c], 0
call fcn.10007d90
mov edi, eax
push edi
call dword [esp + 0x24]
add esp, 0xc
cmp edi, 0x10020d78
je 0x10006eb2
push edi
call dword [0x10020110]
add esp, 4
cmp dword [esp + 0x20], 0
jne 0x10006f33
cmp dword [esp + 0x1c], 0
mov byte [esp + 0x17], 1
je 0x10006ed3
mov edi, dword [esp + 0x1c]
mov ecx, str.__FAILURE__r_n
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10006ee5
push str.__FAILURE__r_n
call eax
add esp, 4
lea edi, [esp + 0x64]
call fcn.10010880
push esi
call dword [0x1002011c]
add esp, 4
cmp ebx, 0x10020b34
je 0x10006f0a
push ebx
call dword [0x10020110]
add esp, 4
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
lea edi, [esp + 0x64]
mov dword [esp + 0x1d8], 0xffffffff
call fcn.10010880
mov ebx, dword [esp + 0x1c]
jmp 0x1000756b
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
push ebx
lea ecx, [esp + 0x68]
call fcn.10010f10
test al, al
jne 0x10006fa5
cmp dword [esp + 0x1c], 0
mov byte [esp + 0x17], 1
je 0x10006f63
mov edi, dword [esp + 0x1c]
mov ecx, str.__FAILURE__r_n
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10006f75
push str.__FAILURE__r_n
call eax
add esp, 4
push esi
call dword [0x1002011c]
mov eax, dword [esp + 0x28]
add esp, 4
cmp eax, 0x10020b34
je 0x10006f94
push eax
call dword [0x10020110]
add esp, 4
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
jmp 0x10006f0a
lea edi, [esp + 0x64]
call fcn.10010880
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov edx, dword [ebx]
mov eax, dword [edx]
push 1
mov ecx, ebx
call eax
mov ecx, esi
call fcn.1000d700
mov dword [esp + 0x2c], eax
mov edi, eax
test eax, eax
je 0x10007045
push 0
push edi
lea ebx, [esp + 0x6c]
call fcn.10014830
test al, al
je 0x10007045
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x10006ff7
mov ecx, str.__SUCCESS__r_n
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10007009
push str.__SUCCESS__r_n
call eax
add esp, 4
test edi, edi
je 0x10006c4d
fld qword [esp + 0x54]
mov ecx, dword [esp + 0x50]
fmul qword [0x100224b8]
mov edx, dword [ecx + 4]
push edx
push ecx
fadd qword [esp + 0x64]
mov esi, edi
fmul qword [0x10022480]
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fstp dword [esp]
call fcn.100034a0
jmp 0x10006c4d
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x17], 1
test eax, eax
je 0x10007062
mov ecx, str.__FAILURE__r_n
mov edi, eax
call fcn.10003610
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10007074
push str.__FAILURE__r_n
call eax
add esp, 4
push esi
call dword [0x1002011c]
mov eax, dword [esp + 0x28]
add esp, 4
cmp eax, 0x10020b34
je 0x10007093
push eax
call dword [0x10020110]
add esp, 4
test edi, edi
je 0x10006f16
mov eax, dword [edi]
mov edx, dword [eax]
push 1
mov ecx, edi
call edx
jmp 0x10006f16
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x40]
add edx, 0x14
push edx
sub eax, ecx
push edi
sar eax, 2
push eax
mov eax, dword [esp + 0x38]
push ecx
push eax
mov edx, ebx
lea ecx, [esp + 0x78]
call fcn.10011d20
test al, al
jne 0x10007124
cmp dword [esp + 0x1c], 0
mov byte [esp + 0x17], 1
je 0x100070f6
mov edi, dword [esp + 0x1c]
mov ecx, str.__FAILURE__r_n
call fcn.10003610
mov edi, dword [esp + 0x18]
test edi, edi
je 0x10007104
push str.__FAILURE__r_n
call edi
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10007116
push eax
call dword [0x1002011c]
add esp, 4
lea edi, [esp + 0x64]
call fcn.10010880
jmp 0x10006f75
lea edi, [esp + 0x64]
call fcn.10010880
push esi
call dword [0x1002011c]
mov edx, dword [ebx]
mov eax, dword [edx]
add esp, 4
push 1
mov ecx, ebx
call eax
cmp dword [esp + 0x1c], 0
je 0x10007156
mov edi, dword [esp + 0x1c]
mov ecx, str.__SUCCESS__r_n
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10007168
push str.__SUCCESS__r_n
call eax
add esp, 4
mov byte [esp + 0x33], 1
lea edi, [esp + 0x64]
mov dword [esp + 0x1d8], 0xffffffff
call fcn.10010880
mov ebx, dword [esp + 0x1c]
jmp 0x100074b7
test ebx, ebx
je 0x1000719a
mov ecx, str.Opening_assets
mov edi, ebx
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100071ac
push str.Opening_assets
call eax
add esp, 4
mov ecx, dword [esp + 0x2c]
lea edi, [esp + 0xfc]
call fcn.1001b210
mov ecx, edi
mov dword [esp + 0x1d8], 1
call fcn.1001b4f0
test al, al
jne 0x10007202
mov byte [esp + 0x17], 1
test ebx, ebx
je 0x100071e7
mov ecx, str.__FAILURE__r_n
mov edi, ebx
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100074a0
push str.__FAILURE__r_n
call eax
add esp, 4
jmp 0x100074a0
test ebx, ebx
je 0x10007212
mov ecx, str.__SUCCESS__r_n
mov edi, ebx
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10007224
push str.__SUCCESS__r_n
call eax
add esp, 4
test ebx, ebx
je 0x10007257
fld qword [esp + 0x54]
mov ecx, dword [esp + 0x50]
fmul qword [0x100224b0]
mov edx, dword [ecx + 4]
push edx
push ecx
fadd qword [esp + 0x64]
mov esi, ebx
fmul qword [0x10022480]
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fstp dword [esp]
call fcn.100034a0
mov edi, dword [esp + 0x34]
xor ecx, ecx
lea eax, [edi + 5]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call dword [0x10020128]
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x24]
add edi, edi
push edi
push eax
push esi
mov dword [esp + 0x34], esi
call fcn.1001f10a
mov eax, str..mod
sub edi, eax
add esp, 0xc
add edi, esi
jmp 0x100072a0
movzx ecx, word [eax]
mov word [edi + eax], cx
add eax, 2
test cx, cx
jne 0x100072a0
mov ecx, esi
call fcn.1000e320
mov edi, eax
mov dword [esp + 0x20], edi
test ebx, ebx
je 0x100072d0
mov ecx, str.Modifying_and_writing_assets_to
mov edi, ebx
call fcn.10003610
mov edi, dword [esp + 0x20]
cmp dword [esp + 0x18], 0
je 0x100072e3
push str.Modifying_and_writing_assets_to
call dword [esp + 0x1c]
add esp, 4
test ebx, ebx
je 0x100072f1
push esi
call fcn.10003550
mov ebx, dword [esp + 0x1c]
cmp dword [esp + 0x18], 0
je 0x1000732b
lea ecx, [esp + 0x44]
push ecx
push esi
mov dword [esp + 0x4c], 0
call fcn.10007d90
mov edi, eax
push edi
call dword [esp + 0x24]
add esp, 0xc
cmp edi, 0x10020d78
je 0x10007327
push edi
call dword [0x10020110]
add esp, 4
mov edi, dword [esp + 0x20]
test edi, edi
jne 0x1000739e
mov byte [esp + 0x17], 1
test ebx, ebx
je 0x10007344
mov ecx, str.__FAILURE__r_n
mov edi, ebx
call fcn.10003610
cmp dword [esp + 0x18], 0
je 0x10007357
push str.__FAILURE__r_n
call dword [esp + 0x1c]
add esp, 4
push esi
call dword [0x1002011c]
mov eax, dword [esp + 0x28]
add esp, 4
cmp eax, 0x10020b34
je 0x10007376
push eax
call dword [0x10020110]
add esp, 4
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
lea esi, [esp + 0xfc]
mov dword [esp + 0x1d8], 0xffffffff
call fcn.1001b3a0
jmp 0x1000756b
test ebx, ebx
je 0x100073d9
fld qword [esp + 0x54]
mov ecx, dword [esp + 0x50]
fmul qword [0x100224c0]
mov edx, dword [ecx + 4]
push edx
push ecx
fadd qword [esp + 0x64]
mov esi, ebx
fmul qword [0x10022480]
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fstp dword [esp]
call fcn.100034a0
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x40]
push 0
sub eax, ecx
sar eax, 2
push eax
push 0
push 0
push edi
lea eax, [esp + 0x110]
add edx, 0x14
push eax
call fcn.100188e0
or eax, edx
jne 0x10007465
mov byte [esp + 0x17], 1
test ebx, ebx
je 0x10007421
mov ecx, str.__FAILURE__r_n
mov edi, ebx
call fcn.10003610
mov edi, dword [esp + 0x20]
cmp dword [esp + 0x18], 0
je 0x10007434
push str.__FAILURE__r_n
call dword [esp + 0x1c]
add esp, 4
push esi
call dword [0x1002011c]
add esp, 4
cmp dword [esp + 0x24], 0x10020b34
je 0x10007456
mov ecx, dword [esp + 0x24]
push ecx
call dword [0x10020110]
add esp, 4
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
jmp 0x10007376
push esi
call dword [0x1002011c]
mov edx, dword [edi]
mov eax, dword [edx]
add esp, 4
push 1
mov ecx, edi
call eax
test ebx, ebx
je 0x10007489
mov ecx, str.__SUCCESS__r_n
mov edi, ebx
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1000749b
push str.__SUCCESS__r_n
call eax
add esp, 4
mov byte [esp + 0x33], 1
lea esi, [esp + 0xfc]
mov dword [esp + 0x1d8], 0xffffffff
call fcn.1001b3a0
cmp byte [esp + 0x33], 0
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
je 0x100074d3
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x48]
mov dword [edx + ecx*4], eax
jmp 0x100074e4
cmp eax, 0x10020b34
je 0x100074e4
push eax
call dword [0x10020110]
add esp, 4
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
cmp dword [esp + 0x38], 0
je 0x1000756b
test ebx, ebx
je 0x10007507
mov ecx, str.Deleting_decompressed_unmodded_file
mov edi, ebx
call fcn.10003610
test esi, esi
je 0x10007515
push str.Deleting_decompressed_unmodded_file
call esi
add esp, 4
mov eax, dword [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x1000753f
test ebx, ebx
je 0x10007534
mov ecx, str.__SUCCESS__r_n
mov edi, ebx
call fcn.10003610
test esi, esi
je 0x1000755d
push str.__SUCCESS__r_n
jmp 0x10007558
test ebx, ebx
je 0x1000754f
mov ecx, str.__FAILURE__r_n
mov edi, ebx
call fcn.10003610
test esi, esi
je 0x1000755d
push str.__FAILURE__r_n
call esi
add esp, 4
mov ecx, dword [esp + 0x38]
push ecx
call dword [0x1002011c]
add esp, 4
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x50]
sub ecx, dword [eax + 0x4c]
mov esi, dword [esp + 0x3c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
mov dword [esp + 0x3c], esi
cmp esi, eax
jb 0x100069ac
test ebx, ebx
je 0x100077f5
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x100075af
push 0
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
cmp byte [ebx + 0x30], 0
je 0x100077df
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x50]
sub ecx, dword [eax + 0x4c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov edi, edx
shr edi, 0x1f
add edi, edx
mov dword [esp + 0x34], edi
je 0x100077a1
mov edx, dword [esp + 0x48]
lea eax, [edx + edi*4 - 4]
mov dword [esp + 0x38], eax
mov ecx, edi
mov dword [esp + 0x28], ecx
fild dword [esp + 0x28]
push 0x10020d78
test ecx, ecx
jns 0x10007603
fadd qword [0x100224d0]
mov eax, dword [esp + 0x44]
fmul qword [0x100224c8]
mov ecx, dword [eax + 0x50]
sub ecx, dword [eax + 0x4c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jns 0x10007634
fadd qword [0x100224d0]
fdivp st(1)
push ecx
mov esi, ebx
fmul qword [0x10022480]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp]
call fcn.100034a0
mov ecx, dword [esp + 0x38]
cmp dword [ecx], 0
je 0x1000778f
mov ecx, str.Removing_modded_file_of
mov edi, ebx
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1000767a
push str.Removing_modded_file_of
call eax
add esp, 4
mov edx, dword [esp + 0x38]
mov esi, dword [edx]
push esi
call fcn.10003550
mov edi, dword [esp + 0x18]
test edi, edi
je 0x100076bb
lea eax, [esp + 0x28]
push eax
push esi
mov dword [esp + 0x30], 0
call fcn.10007d90
mov esi, eax
push esi
call edi
add esp, 0xc
cmp esi, 0x10020d78
je 0x100076bb
push esi
call dword [0x10020110]
add esp, 4
mov edi, dword [esp + 0x38]
mov eax, dword [edi]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x100076c4
sub eax, edx
sar eax, 1
mov esi, eax
xor ecx, ecx
lea eax, [esi + 5]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call dword [0x10020128]
add esp, 4
mov ebx, eax
mov eax, dword [edi]
add esi, esi
push esi
push eax
push ebx
call fcn.1001f10a
mov eax, str..mod
mov ecx, ebx
sub ecx, eax
add esp, 0xc
add esi, ecx
mov edi, edi
movzx ecx, word [eax]
mov word [esi + eax], cx
add eax, 2
test cx, cx
jne 0x10007710
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edi, dword [esp + 0x1c]
test eax, eax
je 0x1000774a
mov ecx, str.__SUCCESS__r_n
call fcn.10003610
cmp dword [esp + 0x18], 0
je 0x10007766
push str.__SUCCESS__r_n
call dword [esp + 0x1c]
jmp 0x10007763
mov ecx, str.__FAILURE__r_n
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10007766
push str.__FAILURE__r_n
call eax
add esp, 4
push ebx
call dword [0x1002011c]
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
add esp, 4
cmp eax, 0x10020b34
je 0x10007787
push eax
call dword [0x10020110]
add esp, 4
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x34]
sub dword [esp + 0x38], 4
dec edi
mov dword [esp + 0x34], edi
test edi, edi
jne 0x100075ea
fldz
push 0x10020d78
push ecx
fstp dword [esp]
mov esi, ebx
call fcn.100034a0
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x100077ce
mov eax, dword [eax + 0x18]
test eax, eax
je 0x100077ce
push str.The_mod_installation_is_cancelled._No_changes_have_been_applied_to_the_files._All_temporary_files_have_been_removed._r_n
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x20], 0xffffffff
jmp 0x10007bad
fld dword [0x100224a8]
push 0x10020d78
push ecx
mov esi, ebx
fstp dword [esp]
call fcn.100034a0
cmp byte [esp + 0x17], 0
je 0x10007828
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x10007817
mov eax, dword [eax + 0x18]
test eax, eax
je 0x10007817
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
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x20], 0xfffffffe
jmp 0x10007b93
mov edi, dword [esp + 0x40]
mov ecx, dword [edi + 0x50]
sub ecx, dword [edi + 0x4c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
xor esi, esi
shr eax, 0x1f
add eax, edx
mov byte [esp + 0x17], 1
mov dword [esp + 0x24], esi
je 0x10007b4b
mov dword [esp + 0x20], esi
test ebx, ebx
je 0x100078b3
mov edx, dword [esp + 0x20]
fild dword [esp + 0x24]
mov ecx, dword [edi + 0x4c]
mov ecx, dword [edx + ecx + 4]
mov edx, dword [esp + 0x24]
push ecx
test edx, edx
jns 0x1000787a
fadd qword [0x100224d0]
fmul qword [0x100224a0]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
test eax, eax
jns 0x10007892
fadd qword [0x100224d0]
fdivp st(1)
push ecx
mov esi, ebx
fadd qword [0x100224c8]
fmul qword [0x10022480]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp]
call fcn.100034a0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
cmp dword [eax + ecx*4], 0
je 0x10007b17
test ebx, ebx
je 0x100078d5
mov ecx, str.Swapping_original_and_mod_of
mov edi, ebx
call fcn.10003610
mov edi, dword [esp + 0x18]
test edi, edi
je 0x100078e7
push str.Swapping_original_and_mod_of
call edi
add esp, 4
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x24]
mov esi, dword [edx + eax*4]
test ebx, ebx
je 0x10007904
push esi
call fcn.10003550
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
test edi, edi
je 0x10007935
lea ecx, [esp + 0x28]
push ecx
push esi
mov dword [esp + 0x30], 0
call fcn.10007d90
mov esi, eax
push esi
call edi
add esp, 0xc
cmp esi, 0x10020d78
je 0x10007935
push esi
call dword [0x10020110]
add esp, 4
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x24]
mov eax, dword [edx + eax*4]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10007943
sub eax, edx
sar eax, 1
mov edi, eax
xor ecx, ecx
lea eax, [edi + 0x20]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call dword [0x10020128]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x28]
mov esi, eax
add esp, 4
lea eax, [edi + edi + 2]
push eax
mov eax, dword [ecx + edx*4]
push eax
push esi
call fcn.1001f10a
lea ecx, [esi + edi*2]
mov dword [esp + 0x48], 0
mov edi, dword [esp + 0x48]
add esp, 0xc
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x34]
push edi
push str..bak_04d
push 0x20
push edx
call dword [0x10020140]
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x100079cd
inc edi
cmp edi, 0x2710
jl 0x100079a0
jmp 0x100079d6
mov dword [esp + 0x3c], edi
cmp edi, 0xffffffff
jne 0x10007a01
mov byte [esp + 0x17], 0
test ebx, ebx
je 0x100079eb
mov ecx, str.__FAILURE__r_nIt_seems_like_you_already_have_10000_backups____r_n
mov edi, ebx
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10007aed
push str.__FAILURE__r_nIt_seems_like_you_already_have_10000_backups____r_n
jmp 0x10007ae8
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + eax*4]
push esi
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x10007a42
mov byte [esp + 0x17], al
test ebx, ebx
je 0x10007a2c
mov ecx, str.__FAILURE__r_nUnable_to_rename_the_original_file._r_n
mov edi, ebx
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10007aed
push str.__FAILURE__r_nUnable_to_rename_the_original_file._r_n
jmp 0x10007ae8
mov edx, dword [esp + 0x34]
mov eax, str..mod
sub edx, eax
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x10007a50
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
mov edx, dword [eax + ecx*4]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x10007acb
mov byte [esp + 0x17], al
test ebx, ebx
je 0x10007a8e
mov ecx, str.__FAILURE__r_nUnable_to_rename_the_modded_file._r_n
mov edi, ebx
call fcn.10003610
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10007aa0
push str.__FAILURE__r_nUnable_to_rename_the_modded_file._r_n
call eax
add esp, 4
mov eax, dword [esp + 0x34]
push edi
push str..bak_04d
push 0x20
push eax
call dword [0x10020140]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x34]
mov eax, dword [ecx + edx*4]
add esp, 0x10
push eax
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
jmp 0x10007aed
test ebx, ebx
je 0x10007adb
mov ecx, str.__SUCCESS__r_n
mov edi, ebx
call fcn.10003610
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10007aed
push str.__SUCCESS__r_n
call eax
add esp, 4
push esi
call dword [0x1002011c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x28]
mov eax, dword [ecx + edx*4]
add esp, 4
cmp eax, 0x10020b34
je 0x10007b13
push eax
call dword [0x10020110]
add esp, 4
mov edi, dword [esp + 0x40]
mov ecx, dword [edi + 0x50]
sub ecx, dword [edi + 0x4c]
mov esi, dword [esp + 0x24]
add dword [esp + 0x20], 0x18
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
mov dword [esp + 0x24], esi
cmp esi, eax
jb 0x10007858
cmp byte [esp + 0x17], 0
je 0x10007b70
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x10007b66
mov eax, dword [eax + 0x18]
test eax, eax
je 0x10007b66
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
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov dword [esp + 0x20], 0
jmp 0x10007b93
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x10007b8b
mov eax, dword [eax + 0x18]
test eax, eax
je 0x10007b8b
push str.The_mod_is_only_99__successfully_installed._Not_all_original_files_were_moved_to_backup_files__.bak__number__and_swapped_with_modded_ones._Not_moved_modified_files_still_have_a_.mod_file_name._r_nSee_the_log_for_more_details._r_n
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov dword [esp + 0x20], 0xfffffffd
test ebx, ebx
je 0x10007bad
fld dword [0x10022498]
push 0x10020d78
push ecx
mov esi, ebx
fstp dword [esp]
call fcn.100034a0
mov eax, dword [esp + 0x48]
push eax
call dword [0x1002011c]
mov eax, dword [esp + 0x50]
add esp, 4
test eax, eax
je 0x10007bcd
mov ecx, dword [edi + 0xc]
push ecx
push eax
call fcn.100036e0
test ebx, ebx
je 0x10007bf4
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x10007bf4
push 1
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x10007bf4
push 0x10020b34
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov ecx, dword [edi + 0x50]
sub ecx, dword [edi + 0x4c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x4c], 0
je 0x10007d44
xor ebx, ebx
mov dword [esp + 0x3c], ebx
nop
mov ecx, dword [edi + 0x4c]
mov edx, dword [ebx + ecx + 0xc]
sub edx, dword [ebx + ecx + 8]
lea eax, [ebx + ecx]
xor esi, esi
sar edx, 2
mov dword [esp + 0x34], esi
test edx, edx
je 0x10007cd9
nop
cmp byte [eax + 1], 0
je 0x10007ca8
mov eax, dword [eax + 8]
mov eax, dword [eax + esi*4]
push 0
push 0x100251d4
lea ecx, [esi*4]
push 0x100251b4
push 0
push eax
call fcn.1001f1b8
add esp, 0x14
test eax, eax
je 0x10007c9b
mov ebx, dword [eax + 0x24]
mov ecx, dword [eax + 0x1c]
xor esi, esi
mov dword [esp + 0x28], ecx
test ebx, ebx
je 0x10007c97
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + esi*4]
test ecx, ecx
je 0x10007c92
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push 1
call edx
inc esi
cmp esi, ebx
jb 0x10007c7e
mov esi, dword [esp + 0x34]
mov eax, dword [edi + 0x4c]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [ebx + eax + 8]
jmp 0x10007cab
mov ecx, dword [eax + 8]
mov ecx, dword [ecx + esi*4]
test ecx, ecx
je 0x10007cbb
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov ecx, dword [edi + 0x4c]
mov edx, dword [ebx + ecx + 0xc]
sub edx, dword [ebx + ecx + 8]
lea eax, [ebx + ecx]
inc esi
sar edx, 2
mov dword [esp + 0x34], esi
cmp esi, edx
jb 0x10007c40
mov ecx, dword [esp + 0x3c]
mov eax, dword [edi + 0x4c]
mov esi, dword [ecx + eax + 8]
lea ebx, [ecx + eax + 8]
mov ecx, dword [ebx + 4]
cmp esi, ecx
je 0x10007d11
mov eax, ecx
sub eax, ecx
sar eax, 2
add eax, eax
add eax, eax
push eax
push ecx
push esi
mov dword [esp + 0x34], eax
call dword [0x10020120]
add esp, 0xc
add esi, dword [esp + 0x28]
mov dword [ebx + 4], esi
mov ecx, dword [edi + 0x50]
sub ecx, dword [edi + 0x4c]
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x3c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
inc esi
add ebx, 0x18
add eax, edx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x3c], ebx
cmp esi, eax
jb 0x10007c20
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1d0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1b8]
xor ecx, esp
call fcn.1001e770
mov esp, ebp
pop ebp
ret