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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4544e8
mov eax, dword fs:[0]
push eax
sub esp, 0x1f0
push esi
mov eax, dword [0x5c000c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x120]
call fcn.00402dc0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1a4]
call fcn.00402dc0
mov byte [ebp - 4], 1
mov dword [ebp - method.CWString.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x198], 0x5ade04
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x178]
call fcn.00402dc0
mov byte [ebp - 4], 3
mov dword [ebp - method.CWString.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x16c], 0x5ade04
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x90]
call fcn.00402dc0
mov byte [ebp - 4], 5
mov dword [ebp - 0x90], vtable.CWConstString.0
mov dword [ebp - 0x84], 0x5ade04
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.00402dc0
mov byte [ebp - 4], 9
mov dword [ebp - 0x64], vtable.CWConstString.0
mov dword [ebp - 0x58], 0x5ade04
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x38]
call fcn.00402dc0
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5ade04
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x14c]
call fcn.00402dc0
mov byte [ebp - 4], 0xd
mov dword [ebp - method.CWString.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x140], 0x5ade04
mov byte [ebp - 4], 0xe
mov edx, 0x5c0c18
push 0x5c0c44
lea ecx, [ebp - 0xd8]
call fcn.004386b0
mov byte [ebp - 4], 0xf
mov edx, eax
push str..ini
lea ecx, [ebp - 0x1fc]
call fcn.00438830
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.0040b9a0
mov byte [ebp - 4], 0x11
mov edx, eax
lea ecx, [ebp - 0x1d0]
call fcn.0042eb40
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.004031d0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x1d0]
call fcn.00402ac0
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 0x4140ee
mov eax, dword [ebp - 0xf4]
push ecx
mov eax, dword [eax + 0xc]
cmp eax, method.CWString.virtual_12
jne 0x4140e6
mov ecx, 0x5c2198
call fcn.00436ca0
jmp 0x4140ee
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.00402ac0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xd8]
call fcn.00402ac0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x14c]
call fcn.00402ac0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x38]
call fcn.00402ac0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x64]
call fcn.00402ac0
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 0x4141a0
mov eax, dword [ebp - 0xac]
push edx
mov eax, dword [eax + 0xc]
cmp eax, method.CWString.virtual_12
jne 0x414198
mov ecx, 0x5c2198
call fcn.00436ca0
jmp 0x4141a0
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.00402ac0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x178]
call fcn.00402ac0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1a4]
call fcn.00402ac0
mov eax, dword [0x5c0af0]
test eax, eax
jne 0x414215
cmp dword [0x5c0b08], 0
mov eax, 0x5ade04
cmovne eax, dword [0x5c0b00]
sub esp, 8
lea ecx, [ebp - 0x120]
push eax
call fcn.00438470
lea ecx, [ebp - 0x38]
call fcn.00402dc0
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5ade04
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x64]
call fcn.00402dc0
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.00402dc0
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, 0x5c0ae4
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042cce0
mov esi, eax
mov byte [ebp - 4], 0x21
mov ecx, 0x5c0c70
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5c0c74], ecx
mov ecx, dword [esi + 8]
mov dword [0x5c0c78], ecx
mov ecx, 0x5c0c80
mov eax, dword [esi + 0xc]
mov dword [0x5c0c7c], eax
mov eax, dword [0x5c0c80]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5c0c80
push eax
call fcn.004031d0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xd8]
call fcn.00402ac0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x90]
call fcn.00402ac0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x64]
call fcn.00402ac0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402ac0
lea ecx, [ebp - 0x38]
call fcn.00402dc0
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5ade04
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x64]
call fcn.00402dc0
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.00402dc0
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, 0x5c0ae4
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042cce0
mov esi, eax
mov byte [ebp - 4], 0x2b
mov ecx, 0x5c0cc8
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5c0ccc], ecx
mov ecx, dword [esi + 8]
mov dword [0x5c0cd0], ecx
mov ecx, 0x5c0cd8
mov eax, dword [esi + 0xc]
mov dword [0x5c0cd4], eax
mov eax, dword [0x5c0cd8]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5c0cd8
push eax
call fcn.004031d0
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0xd8]
call fcn.00402ac0
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x90]
call fcn.00402ac0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x64]
call fcn.00402ac0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402ac0
lea ecx, [ebp - 0x38]
call fcn.00402dc0
mov byte [ebp - 4], 0x2f
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5ade04
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x64]
call fcn.00402dc0
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.00402dc0
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, 0x5c0ae4
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042cce0
mov esi, eax
mov byte [ebp - 4], 0x35
mov ecx, 0x5c0cf4
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5c0cf8], ecx
mov ecx, 0x5c0d04
mov eax, dword [esi + 8]
mov dword [0x5c0cfc], eax
mov eax, dword [esi + 0xc]
mov dword [0x5c0d00], eax
mov eax, dword [0x5c0d04]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5c0d04
push eax
call fcn.004031d0
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0xd8]
call fcn.00402ac0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x90]
call fcn.00402ac0
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x64]
call fcn.00402ac0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402ac0
lea ecx, [ebp - 0x38]
call fcn.00402dc0
mov byte [ebp - 4], 0x39
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5ade04
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x64]
call fcn.00402dc0
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.00402dc0
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, 0x5c0ae4
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042cce0
mov esi, eax
mov byte [ebp - 4], 0x3f
mov ecx, 0x5c0d20
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5c0d24], ecx
mov ecx, 0x5c0d30
mov eax, dword [esi + 8]
mov dword [0x5c0d28], eax
mov eax, dword [esi + 0xc]
mov dword [0x5c0d2c], eax
mov eax, dword [0x5c0d30]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5c0d30
push eax
call fcn.004031d0
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0xd8]
call fcn.00402ac0
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x90]
call fcn.00402ac0
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x64]
call fcn.00402ac0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402ac0
lea ecx, [ebp - 0x38]
call fcn.00402dc0
mov byte [ebp - 4], 0x43
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5ade04
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x64]
call fcn.00402dc0
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.00402dc0
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, 0x5c0ae4
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042cce0
mov esi, eax
mov byte [ebp - 4], 0x49
mov ecx, 0x5c0d4c
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5c0d50], ecx
mov ecx, dword [esi + 8]
mov dword [0x5c0d54], ecx
mov ecx, 0x5c0d5c
mov eax, dword [esi + 0xc]
mov dword [0x5c0d58], eax
mov eax, dword [0x5c0d5c]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5c0d5c
push eax
call fcn.004031d0
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0xd8]
call fcn.00402ac0
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x90]
call fcn.00402ac0
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x64]
call fcn.00402ac0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402ac0
lea ecx, [ebp - 0x38]
call fcn.00402dc0
mov byte [ebp - 4], 0x4d
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5ade04
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x64]
call fcn.00402dc0
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.00402dc0
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, 0x5c0ae4
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042cce0
mov esi, eax
mov byte [ebp - 4], 0x53
mov ecx, 0x5c0d78
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5c0d7c], ecx
mov ecx, dword [esi + 8]
mov dword [0x5c0d80], ecx
mov ecx, 0x5c0d88
mov eax, dword [esi + 0xc]
mov dword [0x5c0d84], eax
mov eax, dword [0x5c0d88]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5c0d88
push eax
call fcn.004031d0
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0xd8]
call fcn.00402ac0
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x90]
call fcn.00402ac0
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x64]
call fcn.00402ac0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402ac0
lea ecx, [ebp - 0x38]
call fcn.00402dc0
mov byte [ebp - 4], 0x57
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5ade04
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x64]
call fcn.00402dc0
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.00402dc0
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, 0x5c0ae4
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042cce0
mov esi, eax
mov byte [ebp - 4], 0x5d
mov ecx, 0x5c0da4
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5c0da8], ecx
mov ecx, dword [esi + 8]
mov dword [0x5c0dac], ecx
mov ecx, 0x5c0db4
mov eax, dword [esi + 0xc]
mov dword [0x5c0db0], eax
mov eax, dword [0x5c0db4]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5c0db4
push eax
call fcn.004031d0
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0xd8]
call fcn.00402ac0
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x90]
call fcn.00402ac0
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x64]
call fcn.00402ac0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402ac0
lea ecx, [ebp - 0x38]
call fcn.00402dc0
mov byte [ebp - 4], 0x61
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5ade04
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x64]
call fcn.00402dc0
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.00402dc0
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, 0x5c0ae4
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042cce0
mov esi, eax
mov byte [ebp - 4], 0x67
mov ecx, 0x5c0e54
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5c0e58], ecx
mov ecx, dword [esi + 8]
mov dword [0x5c0e5c], ecx
mov ecx, 0x5c0e64
mov eax, dword [esi + 0xc]
mov dword [0x5c0e60], eax
mov eax, dword [0x5c0e64]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5c0e64
push eax
call fcn.004031d0
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0xd8]
call fcn.00402ac0
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x90]
call fcn.00402ac0
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x64]
call fcn.00402ac0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402ac0
lea ecx, [ebp - 0x38]
call fcn.00402dc0
mov byte [ebp - 4], 0x6b
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5ade04
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x64]
call fcn.00402dc0
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.00402dc0
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, 0x5c0ae4
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042cce0
mov esi, eax
mov byte [ebp - 4], 0x71
mov ecx, 0x5c0e28
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5c0e2c], ecx
mov ecx, dword [esi + 8]
mov dword [0x5c0e30], ecx
mov ecx, 0x5c0e38
mov eax, dword [esi + 0xc]
mov dword [0x5c0e34], eax
mov eax, dword [0x5c0e38]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5c0e38
push eax
call fcn.004031d0
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0xd8]
call fcn.00402ac0
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x90]
call fcn.00402ac0
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x64]
call fcn.00402ac0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402ac0
mov eax, dword [0x5c0c7c]
test eax, eax
jne 0x414b47
cmp dword [0x5c0c94], 0
mov eax, 0x5ade04
cmovne eax, dword [0x5c0c8c]
mov ecx, 0x5ade04
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x414b76
test dx, dx
je 0x414b72
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x414b76
add eax, 4
add ecx, 4
test dx, dx
jne 0x414b50
xor eax, eax
jmp 0x414b7b
sbb eax, eax
or eax, 1
test eax, eax
je 0x414bfd
mov ecx, dword [0x5c0cd4]
test ecx, ecx
jne 0x414b9c
cmp dword [0x5c0cec], 0
mov ecx, 0x5ade04
cmovne ecx, dword [0x5c0ce4]
mov eax, 0x5ade04
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x414bc7
test dx, dx
je 0x414bc3
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x414bc7
add ecx, 4
add eax, 4
test dx, dx
jne 0x414ba1
xor eax, eax
jmp 0x414bcc
sbb eax, eax
or eax, 1
test eax, eax
je 0x414bfd
mov edx, 0x5ade04
mov ecx, 0x5c0cf4
call fcn.00429400
test eax, eax
je 0x414bfd
mov edx, 0x5ade04
mov ecx, 0x5c0d20
call fcn.00429400
test eax, eax
je 0x414bfd
mov esi, 1
jmp 0x414bff
xor esi, esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.00402ac0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret