Function at 0x405fc0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43ac14
mov eax, dword fs:[0]
push eax
sub esp, 0xfc
push ebx
push esi
push edi
mov eax, dword [0x45b00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov ebx, ecx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x44], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - 0x44], vtable.CVolObject.0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 4], 1
mov dword [ebp - 0x44], vtable.CVolMem.0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], 0x40
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x84]
call fcn.00405300
mov byte [ebp - 4], 3
mov dword [ebp - 0x28], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - 0x28], vtable.CVolObject.0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov byte [ebp - 4], 4
mov dword [ebp - 0x28], vtable.CVolMem.0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 0x40
mov byte [ebp - 4], 5
sub esp, 0xc
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0xdc]
call fcn.00404280
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x108]
push 9
push 2
push ecx
mov ecx, eax
call fcn.0042b0e0
mov esi, eax
mov byte [ebp - 4], 7
lea eax, [ebp - 0xb0]
push 9
push eax
mov ecx, edi
call fcn.0042af40
mov byte [ebp - 4], 8
mov ecx, eax
push esi
call fcn.00406490
mov esi, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xb0]
call fcn.00402b20
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x108]
call fcn.00402b20
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xdc]
call fcn.00402b20
test esi, esi
je 0x4061be
mov ecx, ebx
call fcn.004020d0
mov byte [ebp - 4], 9
mov dword [ebx], vtable.CWString.0
mov byte [ebp - 4], 5
mov dword [ebp - 0x4c], 1
mov byte [ebp - 4], 3
mov dword [ebp - 0x28], vtable.CVolMem.0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x40616d
mov eax, dword [ebp - 0x28]
push ecx
mov eax, dword [eax + 0xc]
cmp eax, fcn.004265e0
jne 0x406168
mov ecx, 0x45bdd8
call fcn.004298b0
jmp 0x40616d
lea ecx, [ebp - 0x28]
call eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 3
mov dword [ebp - 0x28], vtable.CVolObject.0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x78]
call fcn.004029c0
mov byte [ebp - 4], 2
mov dword [ebp - 0x84], vtable.CVolObject.0
mov byte [ebp - 4], 0
mov dword [ebp - 0x44], vtable.CVolMem.0
mov dword [ebp - 4], 0xe
jmp 0x406427
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x4061e1
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4061d0
sub ecx, edx
sar ecx, 1
jmp 0x4061eb
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x4061eb
shr ecx, 1
dec ecx
lea eax, [ecx - 9]
mov ecx, edi
push eax
lea eax, [ebp - 0xdc]
push eax
call fcn.0042ad30
mov byte [ebp - 4], 0xf
mov edx, eax
lea ecx, [ebp - 0xa0]
call fcn.00404740
mov esi, eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx + 0x44]
cmp edx, fcn.00401b70
je 0x406227
lea ecx, [ebp - 0x44]
call edx
push esi
lea ecx, [ebp - 0x44]
call fcn.00402f40
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xa0]
call fcn.00403370
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xdc]
call fcn.00402b20
mov edx, dword [ebp - 0x30]
xor ecx, ecx
mov eax, edx
mov dword [ebp - 0x50], eax
test eax, eax
jle 0x406395
mov edi, dword [ebp - 0x14]
lea esi, [ecx + 1]
mov dword [ebp - 0x48], esi
cmp esi, edx
jle 0x406297
sub edx, ecx
mov eax, 0
xorps xmm0, xmm0
cmovns eax, edx
movlpd qword [ebp - 0x5c], xmm0
push eax
mov eax, dword [ebp - 0x38]
add eax, ecx
push eax
lea eax, [ebp - 0x5c]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov cl, byte [ebp - 0x5c]
add esp, 0xc
jmp 0x40629d
mov eax, dword [ebp - 0x38]
mov cl, byte [eax + ecx]
mov edx, dword [ebp - 0x18]
xor cl, 0x10
mov eax, edx
mov byte [ebp + 0xb], cl
sub eax, edi
cmp eax, 1
jl 0x4062c1
mov eax, dword [ebp - 0x1c]
mov byte [edi + eax], cl
mov edi, dword [ebp - 0x14]
inc edi
mov dword [ebp - 0x14], edi
jmp 0x406383
mov ecx, dword [ebp - 0x1c]
lea ebx, [edi + 1]
cmp ebx, edi
je 0x40637a
test ebx, ebx
jne 0x40630f
test ecx, ecx
je 0x4062f6
mov eax, dword [ebp - 0x28]
push ecx
mov eax, dword [eax + 0xc]
cmp eax, fcn.004265e0
jne 0x4062f1
mov ecx, 0x45bdd8
call fcn.004298b0
jmp 0x4062f6
lea ecx, [ebp - 0x28]
call eax
mov dword [ebp - 0x1c], 0
xor ecx, ecx
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
jmp 0x40637a
test ecx, ecx
jne 0x406320
push ebx
lea ecx, [ebp - 0x28]
call fcn.00428a50
mov ecx, eax
jmp 0x40637a
mov esi, dword [ebp - 0x10]
mov eax, 0x40
test esi, esi
cmovle esi, eax
cmp edx, ebx
jl 0x406337
sub edx, ebx
cmp edx, esi
jle 0x406374
mov eax, ebx
cdq
idiv esi
mov eax, dword [ebp - 0x28]
sub esi, edx
add esi, ebx
push esi
mov eax, dword [eax + 8]
push ecx
cmp eax, method.CWString.virtual_8
jne 0x406367
mov ecx, 0x45bdd8
call fcn.00429820
mov ecx, eax
test ecx, ecx
jne 0x40636e
push 0xffffffffffffffff
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
lea ecx, [ebp - 0x28]
call eax
mov ecx, eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x14], ebx
mov al, byte [ebp + 0xb]
mov byte [ecx + edi], al
mov edi, dword [ebp - 0x14]
mov ecx, esi
cmp ecx, dword [ebp - 0x50]
jge 0x406392
mov edx, dword [ebp - 0x30]
jmp 0x406263
mov ebx, dword [ebp - 0x54]
lea edx, [ebp - 0x28]
mov ecx, ebx
call fcn.00418650
mov dword [ebp - 0x4c], 1
mov byte [ebp - 4], 3
mov dword [ebp - 0x28], vtable.CVolMem.0
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x4063db
mov eax, dword [ebp - 0x28]
push ecx
mov eax, dword [eax + 0xc]
cmp eax, fcn.004265e0
jne 0x4063d6
mov ecx, 0x45bdd8
call fcn.004298b0
jmp 0x4063db
lea ecx, [ebp - 0x28]
call eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 3
mov dword [ebp - 0x28], vtable.CVolObject.0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x78]
call fcn.004029c0
mov byte [ebp - 4], 2
mov dword [ebp - 0x84], vtable.CVolObject.0
mov byte [ebp - 4], 0
mov dword [ebp - 0x44], vtable.CVolMem.0
mov dword [ebp - 4], 0x15
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x40644d
mov eax, dword [ebp - 0x44]
push ecx
mov eax, dword [eax + 0xc]
cmp eax, fcn.004265e0
jne 0x406448
mov ecx, 0x45bdd8
call fcn.004298b0
jmp 0x40644d
lea ecx, [ebp - 0x44]
call eax
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov byte [ebp - 4], 0
mov dword [ebp - 0x44], vtable.CVolObject.0
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4