Function at 0x100143c0
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10055638
mov eax, dword fs:[0]
push eax
sub esp, 0x1f0
push esi
mov eax, dword [0x101c200c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x120]
call fcn.10002df0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1a4]
call fcn.10002df0
mov byte [ebp - 4], 1
mov dword [ebp - method.CWString.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x198], 0x101afdf4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x178]
call fcn.10002df0
mov byte [ebp - 4], 3
mov dword [ebp - method.CWString.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x16c], 0x101afdf4
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x90]
call fcn.10002df0
mov byte [ebp - 4], 5
mov dword [ebp - 0x90], vtable.CWConstString.0
mov dword [ebp - 0x84], 0x101afdf4
mov byte [ebp - 4], 6
mov dword [ebp - 0xac], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - 0xac], vtable.CVolObject.0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov byte [ebp - 4], 7
mov dword [ebp - 0xac], vtable.CVolMem.0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x94], 0x40
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x64]
call fcn.10002df0
mov byte [ebp - 4], 9
mov dword [ebp - 0x64], vtable.CWConstString.0
mov dword [ebp - 0x58], 0x101afdf4
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x38]
call fcn.10002df0
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x101afdf4
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x14c]
call fcn.10002df0
mov byte [ebp - 4], 0xd
mov dword [ebp - method.CWString.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x140], 0x101afdf4
mov byte [ebp - 4], 0xe
mov edx, 0x101c2c08
push 0x101c2c34
lea ecx, [ebp - 0xd8]
call fcn.100391c0
mov byte [ebp - 4], 0xf
mov edx, eax
push str..ini
lea ecx, [ebp - 0x1fc]
call fcn.10039340
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x90]
or dword [ebp - 0xa8], 1
sub esp, 0x10
push 0x7d0
push ecx
lea ecx, [ebp - 0xac]
mov edx, eax
push ecx
push ecx
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [ebp - 0x14c]
push ecx
push ecx
lea ecx, [ebp - 0xf4]
call fcn.1000b9d0
mov byte [ebp - 4], 0x11
mov edx, eax
lea ecx, [ebp - 0x1d0]
call fcn.1002f620
mov esi, eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x120]
mov edx, dword [ebp - 0x120]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x11c], ecx
mov ecx, dword [esi + 8]
mov dword [ebp - 0x118], ecx
lea ecx, [ebp - 0x110]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x110]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x110]
call fcn.10003200
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x1d0]
call fcn.10002af0
mov byte [ebp - 4], 0x10
mov dword [ebp - 0xf4], vtable.CVolMem.0
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0xe8]
test ecx, ecx
je 0x1001464e
mov eax, dword [ebp - 0xf4]
push ecx
mov eax, dword [eax + 0xc]
cmp eax, method.CWString.virtual_12
jne 0x10014646
mov ecx, 0x101c40b8
call fcn.100377b0
jmp 0x1001464e
lea ecx, [ebp - 0xf4]
call eax
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xe4], 0
mov byte [ebp - 4], 0x10
mov dword [ebp - 0xf4], vtable.CVolObject.0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1fc]
call fcn.10002af0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xd8]
call fcn.10002af0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x14c]
call fcn.10002af0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x38]
call fcn.10002af0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x64]
call fcn.10002af0
mov byte [ebp - 4], 6
mov dword [ebp - 0xac], vtable.CVolMem.0
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0xa0]
test edx, edx
je 0x10014700
mov eax, dword [ebp - 0xac]
push edx
mov eax, dword [eax + 0xc]
cmp eax, method.CWString.virtual_12
jne 0x100146f8
mov ecx, 0x101c40b8
call fcn.100377b0
jmp 0x10014700
lea ecx, [ebp - 0xac]
call eax
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x9c], 0
mov byte [ebp - 4], 6
mov dword [ebp - 0xac], vtable.CVolObject.0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x90]
call fcn.10002af0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x178]
call fcn.10002af0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1a4]
call fcn.10002af0
mov eax, dword [0x101c2ae0]
test eax, eax
jne 0x10014775
cmp dword [0x101c2af8], 0
mov eax, 0x101afdf4
cmovne eax, dword [0x101c2af0]
sub esp, 8
lea ecx, [ebp - 0x120]
push eax
call fcn.10038f80
lea ecx, [ebp - 0x38]
call fcn.10002df0
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x101afdf4
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x64]
call fcn.10002df0
mov byte [ebp - 4], 0x1d
mov dword [ebp - 0x64], vtable.CWConstString.0
mov dword [ebp - 0x58], str.cnname
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x90]
call fcn.10002df0
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x90], vtable.CWConstString.0
mov dword [ebp - 0x84], str.soft
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x64]
mov edx, 0x101c2ad4
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.1002d840
mov esi, eax
mov byte [ebp - 4], 0x21
mov ecx, 0x101c2c60
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x101c2c64], ecx
mov ecx, dword [esi + 8]
mov dword [0x101c2c68], ecx
mov ecx, 0x101c2c70
mov eax, dword [esi + 0xc]
mov dword [0x101c2c6c], eax
mov eax, dword [0x101c2c70]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x101c2c70
push eax
call fcn.10003200
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xd8]
call fcn.10002af0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x90]
call fcn.10002af0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x64]
call fcn.10002af0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.10002af0
lea ecx, [ebp - 0x38]
call fcn.10002df0
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x101afdf4
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x64]
call fcn.10002df0
mov byte [ebp - 4], 0x27
mov dword [ebp - 0x64], vtable.CWConstString.0
mov dword [ebp - 0x58], str.Package1
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x90]
call fcn.10002df0
mov byte [ebp - 4], 0x29
mov dword [ebp - 0x90], vtable.CWConstString.0
mov dword [ebp - 0x84], str.soft
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x64]
mov edx, 0x101c2ad4
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.1002d840
mov esi, eax
mov byte [ebp - 4], 0x2b
mov ecx, 0x101c2cb8
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x101c2cbc], ecx
mov ecx, dword [esi + 8]
mov dword [0x101c2cc0], ecx
mov ecx, 0x101c2cc8
mov eax, dword [esi + 0xc]
mov dword [0x101c2cc4], eax
mov eax, dword [0x101c2cc8]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x101c2cc8
push eax
call fcn.10003200
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0xd8]
call fcn.10002af0
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x90]
call fcn.10002af0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x64]
call fcn.10002af0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.10002af0
lea ecx, [ebp - 0x38]
call fcn.10002df0
mov byte [ebp - 4], 0x2f
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x101afdf4
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x64]
call fcn.10002df0
mov byte [ebp - 4], 0x31
mov dword [ebp - 0x64], vtable.CWConstString.0
mov dword [ebp - 0x58], str.Package2
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x90]
call fcn.10002df0
mov byte [ebp - 4], 0x33
mov dword [ebp - 0x90], vtable.CWConstString.0
mov dword [ebp - 0x84], str.soft
mov byte [ebp - 4], 0x34
lea eax, [ebp - 0x38]
mov edx, 0x101c2ad4
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.1002d840
mov esi, eax
mov byte [ebp - 4], 0x35
mov ecx, 0x101c2ce4
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x101c2ce8], ecx
mov ecx, 0x101c2cf4
mov eax, dword [esi + 8]
mov dword [0x101c2cec], eax
mov eax, dword [esi + 0xc]
mov dword [0x101c2cf0], eax
mov eax, dword [0x101c2cf4]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x101c2cf4
push eax
call fcn.10003200
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0xd8]
call fcn.10002af0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x90]
call fcn.10002af0
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x64]
call fcn.10002af0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.10002af0
lea ecx, [ebp - 0x38]
call fcn.10002df0
mov byte [ebp - 4], 0x39
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x101afdf4
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x64]
call fcn.10002df0
mov byte [ebp - 4], 0x3b
mov dword [ebp - 0x64], vtable.CWConstString.0
mov dword [ebp - 0x58], str.Package3
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x90]
call fcn.10002df0
mov byte [ebp - 4], 0x3d
mov dword [ebp - 0x90], vtable.CWConstString.0
mov dword [ebp - 0x84], str.soft
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x64]
mov edx, 0x101c2ad4
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.1002d840
mov esi, eax
mov byte [ebp - 4], 0x3f
mov ecx, 0x101c2d10
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x101c2d14], ecx
mov ecx, 0x101c2d20
mov eax, dword [esi + 8]
mov dword [0x101c2d18], eax
mov eax, dword [esi + 0xc]
mov dword [0x101c2d1c], eax
mov eax, dword [0x101c2d20]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x101c2d20
push eax
call fcn.10003200
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0xd8]
call fcn.10002af0
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x90]
call fcn.10002af0
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x64]
call fcn.10002af0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.10002af0
lea ecx, [ebp - 0x38]
call fcn.10002df0
mov byte [ebp - 4], 0x43
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x101afdf4
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x64]
call fcn.10002df0
mov byte [ebp - 4], 0x45
mov dword [ebp - 0x64], vtable.CWConstString.0
mov dword [ebp - 0x58], str.Package4
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x90]
call fcn.10002df0
mov byte [ebp - 4], 0x47
mov dword [ebp - 0x90], vtable.CWConstString.0
mov dword [ebp - 0x84], str.soft
mov byte [ebp - 4], 0x48
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x64]
mov edx, 0x101c2ad4
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.1002d840
mov esi, eax
mov byte [ebp - 4], 0x49
mov ecx, 0x101c2d3c
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x101c2d40], ecx
mov ecx, dword [esi + 8]
mov dword [0x101c2d44], ecx
mov ecx, 0x101c2d4c
mov eax, dword [esi + 0xc]
mov dword [0x101c2d48], eax
mov eax, dword [0x101c2d4c]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x101c2d4c
push eax
call fcn.10003200
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0xd8]
call fcn.10002af0
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x90]
call fcn.10002af0
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x64]
call fcn.10002af0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.10002af0
lea ecx, [ebp - 0x38]
call fcn.10002df0
mov byte [ebp - 4], 0x4d
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x101afdf4
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x64]
call fcn.10002df0
mov byte [ebp - 4], 0x4f
mov dword [ebp - 0x64], vtable.CWConstString.0
mov dword [ebp - 0x58], str.Package5
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x90]
call fcn.10002df0
mov byte [ebp - 4], 0x51
mov dword [ebp - 0x90], vtable.CWConstString.0
mov dword [ebp - 0x84], str.soft
mov byte [ebp - 4], 0x52
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x64]
mov edx, 0x101c2ad4
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.1002d840
mov esi, eax
mov byte [ebp - 4], 0x53
mov ecx, 0x101c2d68
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x101c2d6c], ecx
mov ecx, dword [esi + 8]
mov dword [0x101c2d70], ecx
mov ecx, 0x101c2d78
mov eax, dword [esi + 0xc]
mov dword [0x101c2d74], eax
mov eax, dword [0x101c2d78]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x101c2d78
push eax
call fcn.10003200
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0xd8]
call fcn.10002af0
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x90]
call fcn.10002af0
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x64]
call fcn.10002af0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.10002af0
lea ecx, [ebp - 0x38]
call fcn.10002df0
mov byte [ebp - 4], 0x57
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x101afdf4
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x64]
call fcn.10002df0
mov byte [ebp - 4], 0x59
mov dword [ebp - 0x64], vtable.CWConstString.0
mov dword [ebp - 0x58], str.Package6
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x90]
call fcn.10002df0
mov byte [ebp - 4], 0x5b
mov dword [ebp - 0x90], vtable.CWConstString.0
mov dword [ebp - 0x84], str.soft
mov byte [ebp - 4], 0x5c
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x64]
mov edx, 0x101c2ad4
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.1002d840
mov esi, eax
mov byte [ebp - 4], 0x5d
mov ecx, 0x101c2d94
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x101c2d98], ecx
mov ecx, dword [esi + 8]
mov dword [0x101c2d9c], ecx
mov ecx, 0x101c2da4
mov eax, dword [esi + 0xc]
mov dword [0x101c2da0], eax
mov eax, dword [0x101c2da4]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x101c2da4
push eax
call fcn.10003200
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0xd8]
call fcn.10002af0
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x90]
call fcn.10002af0
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x64]
call fcn.10002af0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.10002af0
lea ecx, [ebp - 0x38]
call fcn.10002df0
mov byte [ebp - 4], 0x61
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x101afdf4
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x64]
call fcn.10002df0
mov byte [ebp - 4], 0x63
mov dword [ebp - 0x64], vtable.CWConstString.0
mov dword [ebp - 0x58], str.paytype
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x90]
call fcn.10002df0
mov byte [ebp - 4], 0x65
mov dword [ebp - 0x90], vtable.CWConstString.0
mov dword [ebp - 0x84], str.soft
mov byte [ebp - 4], 0x66
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x64]
mov edx, 0x101c2ad4
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.1002d840
mov esi, eax
mov byte [ebp - 4], 0x67
mov ecx, 0x101c2e44
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x101c2e48], ecx
mov ecx, dword [esi + 8]
mov dword [0x101c2e4c], ecx
mov ecx, 0x101c2e54
mov eax, dword [esi + 0xc]
mov dword [0x101c2e50], eax
mov eax, dword [0x101c2e54]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x101c2e54
push eax
call fcn.10003200
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0xd8]
call fcn.10002af0
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x90]
call fcn.10002af0
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x64]
call fcn.10002af0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.10002af0
lea ecx, [ebp - 0x38]
call fcn.10002df0
mov byte [ebp - 4], 0x6b
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x101afdf4
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x64]
call fcn.10002df0
mov byte [ebp - 4], 0x6d
mov dword [ebp - 0x64], vtable.CWConstString.0
mov dword [ebp - 0x58], str.default
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x90]
call fcn.10002df0
mov byte [ebp - 4], 0x6f
mov dword [ebp - 0x90], vtable.CWConstString.0
mov dword [ebp - 0x84], str.soft
mov byte [ebp - 4], 0x70
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x90]
mov edx, 0x101c2ad4
push eax
lea ecx, [ebp - 0xd8]
call fcn.1002d840
mov esi, eax
mov byte [ebp - 4], 0x71
mov ecx, 0x101c2e18
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x101c2e1c], ecx
mov ecx, dword [esi + 8]
mov dword [0x101c2e20], ecx
mov ecx, 0x101c2e28
mov eax, dword [esi + 0xc]
mov dword [0x101c2e24], eax
mov eax, dword [0x101c2e28]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x101c2e28
push eax
call fcn.10003200
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0xd8]
call fcn.10002af0
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x90]
call fcn.10002af0
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x64]
call fcn.10002af0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.10002af0
mov eax, dword [0x101c2c6c]
test eax, eax
jne 0x100150a7
cmp dword [0x101c2c84], 0
mov eax, 0x101afdf4
cmovne eax, dword [0x101c2c7c]
mov ecx, 0x101afdf4
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x100150d6
test dx, dx
je 0x100150d2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x100150d6
add eax, 4
add ecx, 4
test dx, dx
jne 0x100150b0
xor eax, eax
jmp 0x100150db
sbb eax, eax
or eax, 1
test eax, eax
je 0x1001515d
mov ecx, dword [0x101c2cc4]
test ecx, ecx
jne 0x100150fc
cmp dword [0x101c2cdc], 0
mov ecx, 0x101afdf4
cmovne ecx, dword [0x101c2cd4]
mov eax, 0x101afdf4
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x10015127
test dx, dx
je 0x10015123
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x10015127
add ecx, 4
add eax, 4
test dx, dx
jne 0x10015101
xor eax, eax
jmp 0x1001512c
sbb eax, eax
or eax, 1
test eax, eax
je 0x1001515d
mov edx, 0x101afdf4
mov ecx, 0x101c2ce4
call fcn.10029f30
test eax, eax
je 0x1001515d
mov edx, 0x101afdf4
mov ecx, 0x101c2d10
call fcn.10029f30
test eax, eax
je 0x1001515d
mov esi, 1
jmp 0x1001515f
xor esi, esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.10002af0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret