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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x441d08
mov eax, dword fs:[0]
push eax
sub esp, 0x1f0
push esi
mov eax, dword [0x5a800c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x120]
call fcn.00402e10
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1a4]
call fcn.00402e10
mov byte [ebp - 4], 1
mov dword [ebp - method.CWString.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x198], 0x5962e4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x178]
call fcn.00402e10
mov byte [ebp - 4], 3
mov dword [ebp - method.CWString.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x16c], 0x5962e4
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x90]
call fcn.00402e10
mov byte [ebp - 4], 5
mov dword [ebp - 0x90], vtable.CWConstString.0
mov dword [ebp - 0x84], 0x5962e4
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.00402e10
mov byte [ebp - 4], 9
mov dword [ebp - 0x64], vtable.CWConstString.0
mov dword [ebp - 0x58], 0x5962e4
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x38]
call fcn.00402e10
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5962e4
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x14c]
call fcn.00402e10
mov byte [ebp - 4], 0xd
mov dword [ebp - method.CWString.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x140], 0x5962e4
mov byte [ebp - 4], 0xe
mov edx, 0x5a81e0
push 0x5a820c
lea ecx, [ebp - 0xd8]
call fcn.00439390
mov byte [ebp - 4], 0xf
mov edx, eax
push str..ini
lea ecx, [ebp - 0x1fc]
call fcn.00439510
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.0040b9f0
mov byte [ebp - 4], 0x11
mov edx, eax
lea ecx, [ebp - 0x1d0]
call fcn.0042f740
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.00403220
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x1d0]
call fcn.00402b00
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 0x4145ae
mov eax, dword [ebp - 0xf4]
push ecx
mov eax, dword [eax + 0xc]
cmp eax, method.CWString.virtual_12
jne 0x4145a6
mov ecx, 0x5a8eb8
call fcn.00437980
jmp 0x4145ae
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.00402b00
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xd8]
call fcn.00402b00
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x14c]
call fcn.00402b00
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x38]
call fcn.00402b00
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x64]
call fcn.00402b00
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 0x414660
mov eax, dword [ebp - 0xac]
push edx
mov eax, dword [eax + 0xc]
cmp eax, method.CWString.virtual_12
jne 0x414658
mov ecx, 0x5a8eb8
call fcn.00437980
jmp 0x414660
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.00402b00
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x178]
call fcn.00402b00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1a4]
call fcn.00402b00
mov eax, dword [0x5a80b8]
test eax, eax
jne 0x4146d5
cmp dword [0x5a80d0], 0
mov eax, 0x5962e4
cmovne eax, dword [0x5a80c8]
sub esp, 8
lea ecx, [ebp - 0x120]
push eax
call fcn.00439150
lea ecx, [ebp - 0x38]
call fcn.00402e10
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5962e4
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x64]
call fcn.00402e10
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.00402e10
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, 0x5a80ac
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042d5c0
mov esi, eax
mov byte [ebp - 4], 0x21
mov ecx, 0x5a8238
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5a823c], ecx
mov ecx, dword [esi + 8]
mov dword [0x5a8240], ecx
mov ecx, 0x5a8248
mov eax, dword [esi + 0xc]
mov dword [0x5a8244], eax
mov eax, dword [0x5a8248]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5a8248
push eax
call fcn.00403220
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xd8]
call fcn.00402b00
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x90]
call fcn.00402b00
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x64]
call fcn.00402b00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402b00
lea ecx, [ebp - 0x38]
call fcn.00402e10
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5962e4
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x64]
call fcn.00402e10
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.00402e10
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, 0x5a80ac
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042d5c0
mov esi, eax
mov byte [ebp - 4], 0x2b
mov ecx, 0x5a8290
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5a8294], ecx
mov ecx, dword [esi + 8]
mov dword [0x5a8298], ecx
mov ecx, 0x5a82a0
mov eax, dword [esi + 0xc]
mov dword [0x5a829c], eax
mov eax, dword [0x5a82a0]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5a82a0
push eax
call fcn.00403220
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0xd8]
call fcn.00402b00
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x90]
call fcn.00402b00
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x64]
call fcn.00402b00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402b00
lea ecx, [ebp - 0x38]
call fcn.00402e10
mov byte [ebp - 4], 0x2f
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5962e4
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x64]
call fcn.00402e10
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.00402e10
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, 0x5a80ac
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042d5c0
mov esi, eax
mov byte [ebp - 4], 0x35
mov ecx, 0x5a82bc
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5a82c0], ecx
mov ecx, 0x5a82cc
mov eax, dword [esi + 8]
mov dword [0x5a82c4], eax
mov eax, dword [esi + 0xc]
mov dword [0x5a82c8], eax
mov eax, dword [0x5a82cc]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5a82cc
push eax
call fcn.00403220
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0xd8]
call fcn.00402b00
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x90]
call fcn.00402b00
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x64]
call fcn.00402b00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402b00
lea ecx, [ebp - 0x38]
call fcn.00402e10
mov byte [ebp - 4], 0x39
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5962e4
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x64]
call fcn.00402e10
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.00402e10
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, 0x5a80ac
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042d5c0
mov esi, eax
mov byte [ebp - 4], 0x3f
mov ecx, 0x5a82e8
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5a82ec], ecx
mov ecx, 0x5a82f8
mov eax, dword [esi + 8]
mov dword [0x5a82f0], eax
mov eax, dword [esi + 0xc]
mov dword [0x5a82f4], eax
mov eax, dword [0x5a82f8]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5a82f8
push eax
call fcn.00403220
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0xd8]
call fcn.00402b00
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x90]
call fcn.00402b00
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x64]
call fcn.00402b00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402b00
lea ecx, [ebp - 0x38]
call fcn.00402e10
mov byte [ebp - 4], 0x43
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5962e4
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x64]
call fcn.00402e10
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.00402e10
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, 0x5a80ac
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042d5c0
mov esi, eax
mov byte [ebp - 4], 0x49
mov ecx, 0x5a8314
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5a8318], ecx
mov ecx, dword [esi + 8]
mov dword [0x5a831c], ecx
mov ecx, 0x5a8324
mov eax, dword [esi + 0xc]
mov dword [0x5a8320], eax
mov eax, dword [0x5a8324]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5a8324
push eax
call fcn.00403220
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0xd8]
call fcn.00402b00
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x90]
call fcn.00402b00
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x64]
call fcn.00402b00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402b00
lea ecx, [ebp - 0x38]
call fcn.00402e10
mov byte [ebp - 4], 0x4d
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5962e4
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x64]
call fcn.00402e10
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.00402e10
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, 0x5a80ac
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042d5c0
mov esi, eax
mov byte [ebp - 4], 0x53
mov ecx, 0x5a8340
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5a8344], ecx
mov ecx, dword [esi + 8]
mov dword [0x5a8348], ecx
mov ecx, 0x5a8350
mov eax, dword [esi + 0xc]
mov dword [0x5a834c], eax
mov eax, dword [0x5a8350]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5a8350
push eax
call fcn.00403220
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0xd8]
call fcn.00402b00
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x90]
call fcn.00402b00
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x64]
call fcn.00402b00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402b00
lea ecx, [ebp - 0x38]
call fcn.00402e10
mov byte [ebp - 4], 0x57
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5962e4
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x64]
call fcn.00402e10
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.00402e10
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, 0x5a80ac
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042d5c0
mov esi, eax
mov byte [ebp - 4], 0x5d
mov ecx, 0x5a836c
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5a8370], ecx
mov ecx, dword [esi + 8]
mov dword [0x5a8374], ecx
mov ecx, 0x5a837c
mov eax, dword [esi + 0xc]
mov dword [0x5a8378], eax
mov eax, dword [0x5a837c]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5a837c
push eax
call fcn.00403220
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0xd8]
call fcn.00402b00
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x90]
call fcn.00402b00
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x64]
call fcn.00402b00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402b00
lea ecx, [ebp - 0x38]
call fcn.00402e10
mov byte [ebp - 4], 0x61
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5962e4
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x64]
call fcn.00402e10
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.00402e10
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, 0x5a80ac
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042d5c0
mov esi, eax
mov byte [ebp - 4], 0x67
mov ecx, 0x5a841c
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5a8420], ecx
mov ecx, dword [esi + 8]
mov dword [0x5a8424], ecx
mov ecx, 0x5a842c
mov eax, dword [esi + 0xc]
mov dword [0x5a8428], eax
mov eax, dword [0x5a842c]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5a842c
push eax
call fcn.00403220
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0xd8]
call fcn.00402b00
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x90]
call fcn.00402b00
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x64]
call fcn.00402b00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402b00
lea ecx, [ebp - 0x38]
call fcn.00402e10
mov byte [ebp - 4], 0x6b
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5962e4
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x64]
call fcn.00402e10
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.00402e10
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, 0x5a80ac
push eax
lea ecx, [ebp - 0xd8]
call fcn.0042d5c0
mov esi, eax
mov byte [ebp - 4], 0x71
mov ecx, 0x5a83f0
mov edx, dword [vtable.CVolCommonBaseWithMemManager.0]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [0x5a83f4], ecx
mov ecx, dword [esi + 8]
mov dword [0x5a83f8], ecx
mov ecx, 0x5a8400
mov eax, dword [esi + 0xc]
mov dword [0x5a83fc], eax
mov eax, dword [0x5a8400]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
mov ecx, 0x5a8400
push eax
call fcn.00403220
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0xd8]
call fcn.00402b00
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x90]
call fcn.00402b00
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x64]
call fcn.00402b00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.00402b00
mov eax, dword [0x5a8244]
test eax, eax
jne 0x415007
cmp dword [0x5a825c], 0
mov eax, 0x5962e4
cmovne eax, dword [0x5a8254]
mov ecx, 0x5962e4
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x415036
test dx, dx
je 0x415032
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x415036
add eax, 4
add ecx, 4
test dx, dx
jne 0x415010
xor eax, eax
jmp 0x41503b
sbb eax, eax
or eax, 1
test eax, eax
je 0x4150bd
mov ecx, dword [0x5a829c]
test ecx, ecx
jne 0x41505c
cmp dword [0x5a82b4], 0
mov ecx, 0x5962e4
cmovne ecx, dword [0x5a82ac]
mov eax, 0x5962e4
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x415087
test dx, dx
je 0x415083
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x415087
add ecx, 4
add eax, 4
test dx, dx
jne 0x415061
xor eax, eax
jmp 0x41508c
sbb eax, eax
or eax, 1
test eax, eax
je 0x4150bd
mov edx, 0x5962e4
mov ecx, 0x5a82bc
call fcn.00429cc0
test eax, eax
je 0x4150bd
mov edx, 0x5962e4
mov ecx, 0x5a82e8
call fcn.00429cc0
test eax, eax
je 0x4150bd
mov esi, 1
jmp 0x4150bf
xor esi, esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.00402b00
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret