Function at 0x4a5ac8
Capabilities:
Get disk information
Self delete

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe18
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x1e8], edx
mov dword [ebp - 0x1e4], edx
mov dword [ebp - 0x1e0], edx
mov dword [ebp - 0x1dc], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4a6b42
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov byte [0x4b1df4], 1
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
call fcn.0045de04
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
call fcn.0045dfac
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
mov edx, 0x4a6b58
call fcn.00441cb0
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
call fcn.004421bc
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov edx, 0xa
call fcn.00463a68
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x80]
xor edx, edx
push ebp
push 0x4a6ac7
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c8]
mov edx, dword [eax]
call dword [edx + 0x120]
test al, al
je 0x4a5c23
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
mov edx, 0x4a6b7c
call fcn.00441cb0
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov edx, dword [eax + 0x170]
inc edx
mov ecx, dword [0x4b0b24]
call fcn.00463b18
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x80]
call fcn.004a2a34
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x4a5c0a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a6ba8
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a5c23
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a6bc8
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4cc]
mov edx, dword [eax]
call dword [edx + 0x120]
test al, al
je 0x4a5ceb
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
mov edx, 0x4a6be8
call fcn.00441cb0
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov edx, dword [eax + 0x170]
inc edx
mov ecx, dword [0x4b0b24]
call fcn.00463b18
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x80]
xor eax, eax
push ebp
push 0x4a5ca2
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004a59d8
mov byte [ebp - 5], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a5cb1
cmp byte [ebp - 5], 0
je 0x4a5cd2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a6c14
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a5ceb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a6c44
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x120]
test al, al
je 0x4a5da7
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
mov edx, 0x4a6c74
call fcn.00441cb0
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov edx, dword [eax + 0x170]
inc edx
mov ecx, dword [0x4b0b24]
call fcn.00463b18
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x80]
xor ecx, ecx
mov edx, 0x4a6ca8
mov eax, 0x4a6ce8
call fcn.004abbb4
mov byte [ebp - 5], al
xor ecx, ecx
mov edx, 0x4a6cf8
mov eax, 0x4a6ce8
call fcn.004abbb4
test byte [ebp - 5], al
je 0x4a5d8e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a6d20
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a5da7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a6d48
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4dc]
mov edx, dword [eax]
call dword [edx + 0x120]
test al, al
je 0x4a5e53
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
mov edx, 0x4a6d70
call fcn.00441cb0
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov edx, dword [eax + 0x170]
inc edx
mov ecx, dword [0x4b0b24]
call fcn.00463b18
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x80]
xor ecx, ecx
mov edx, 0x4a6da0
mov eax, 0x4a6ce8
call fcn.004abbb4
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4a5e3a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a6dc8
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a5e53
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a6de4
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d4]
mov edx, dword [eax]
call dword [edx + 0x120]
test al, al
je 0x4a5eff
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
mov edx, 0x4a6e00
call fcn.00441cb0
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov edx, dword [eax + 0x170]
inc edx
mov ecx, dword [0x4b0b24]
call fcn.00463b18
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x80]
xor ecx, ecx
mov edx, 0x4a6e28
mov eax, 0x4a6ce8
call fcn.004abbb4
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4a5ee6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a6e5c
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a5eff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a6e84
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e0]
mov edx, dword [eax]
call dword [edx + 0x120]
test al, al
je 0x4a5fb1
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
mov edx, 0x4a6eac
call fcn.00441cb0
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov edx, dword [eax + 0x170]
inc edx
mov ecx, dword [0x4b0b24]
call fcn.00463b18
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x80]
xor ecx, ecx
mov edx, 0x4a6ed8
mov eax, 0x4a6ce8
call fcn.004abbb4
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4a5f92
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a6f0c
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a5fb1
cmp byte [ebp - 5], 0
je 0x4a5fb1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a6f2c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d8]
mov edx, dword [eax]
call dword [edx + 0x120]
test al, al
je 0x4a60c3
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
mov edx, 0x4a6f4c
call fcn.00441cb0
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov edx, dword [eax + 0x170]
inc edx
mov ecx, dword [0x4b0b24]
call fcn.00463b18
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x80]
xor ecx, ecx
mov edx, 0x4a6f80
mov eax, 0x4a6ce8
call fcn.004abbb4
xor ecx, ecx
mov edx, 0x4a6fac
mov eax, 0x4a6ce8
call fcn.004abbb4
xor ecx, ecx
mov edx, 0x4a6fd8
mov eax, 0x4a6ce8
call fcn.004abbb4
xor ecx, ecx
mov edx, 0x4a7004
mov eax, 0x4a6ce8
call fcn.004abbb4
xor ecx, ecx
mov edx, 0x4a7030
mov eax, 0x4a6ce8
call fcn.004abbb4
xor ecx, ecx
mov edx, 0x4a705c
mov eax, 0x4a6ce8
call fcn.004abbb4
xor ecx, ecx
mov edx, 0x4a7088
mov eax, 0x4a6ce8
call fcn.004abbb4
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4a60aa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a70b4
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a60c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a7110
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x500]
mov edx, dword [eax]
call dword [edx + 0x120]
test al, al
je 0x4a618b
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
mov edx, 0x4a716c
call fcn.00441cb0
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov edx, dword [eax + 0x170]
inc edx
mov ecx, dword [0x4b0b24]
call fcn.00463b18
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x80]
xor eax, eax
push ebp
push 0x4a6142
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004a5a60
mov byte [ebp - 5], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a6151
cmp byte [ebp - 5], 0
je 0x4a6172
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a7198
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a618b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a71b8
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4bc]
mov edx, dword [eax]
call dword [edx + 0x120]
test al, al
je 0x4a64ed
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
mov edx, 0x4a71d8
call fcn.00441cb0
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov edx, dword [eax + 0x170]
inc edx
mov ecx, dword [0x4b0b24]
call fcn.00463b18
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x80]
mov edx, 0x4a7204
lea eax, [ebp - 0x1d8]
call fcn.00402e30
lea eax, [ebp - 0x1d8]
call fcn.00402bcc
mov edx, 0x4a7224
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov dl, 0x20
lea eax, [ebp - 0x1d8]
call fcn.004032a4
call fcn.004032e0
mov edx, 0x4a7254
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a72bc
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a72e4
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a72fc
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a7358
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a73b0
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a7408
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a7418
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
xor edx, edx
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a743c
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a74ac
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a7504
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a752c
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a7544
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a756c
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a758c
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a75b4
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a75d8
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
xor edx, edx
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a75fc
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a74ac
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a766c
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a752c
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a7694
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a756c
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a758c
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a75b4
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a76bc
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
xor edx, edx
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
lea eax, [ebp - 0x1d8]
call fcn.00402ef8
xor ecx, ecx
mov edx, 0x4a76e0
mov eax, 0x4a6ce8
call fcn.004abbb4
xor ecx, ecx
mov edx, 0x4a770c
mov eax, 0x4a6ce8
call fcn.004abbb4
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4a64d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a773c
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a64ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a775c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c0]
mov edx, dword [eax]
call dword [edx + 0x120]
test al, al
je 0x4a6633
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
mov edx, 0x4a777c
call fcn.00441cb0
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov edx, dword [eax + 0x170]
inc edx
mov ecx, dword [0x4b0b24]
call fcn.00463b18
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x80]
mov edx, 0x4a77a8
lea eax, [ebp - 0x1d8]
call fcn.00402e30
lea eax, [ebp - 0x1d8]
call fcn.00402bcc
mov edx, 0x4a7224
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
xor edx, edx
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a77c4
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a77fc
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
xor edx, edx
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
lea eax, [ebp - 0x1d8]
call fcn.00402ef8
xor ecx, ecx
mov edx, 0x4a7814
mov eax, 0x4a6ce8
call fcn.004abbb4
xor ecx, ecx
mov edx, 0x4a7840
mov eax, 0x4a6ce8
call fcn.004abbb4
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4a661a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a786c
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a6633
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a788c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c4]
mov edx, dword [eax]
call dword [edx + 0x120]
test al, al
je 0x4a6854
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
mov edx, 0x4a78ac
call fcn.00441cb0
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov edx, dword [eax + 0x170]
inc edx
mov ecx, dword [0x4b0b24]
call fcn.00463b18
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x80]
mov ebx, 1
call sub.kernel32.dll_GetLogicalDrives
mov ecx, ebx
mov edx, 1
shl edx, cl
and eax, edx
test al, al
je 0x4a67ae
lea eax, [ebp - 0x1dc]
lea edx, [ebx + 0x41]
call fcn.00404788
lea eax, [ebp - 0x1dc]
mov edx, 0x4a78d4
call fcn.00404868
mov eax, dword [ebp - 0x1dc]
call fcn.00404a60
mov edx, eax
lea eax, [ebp - 0xc]
call fcn.00404798
lea eax, [ebp - 0xc]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.00404ac0
push 0x4a78e0
push dword [ebp - 0xc]
push 0x4a78f8
push 0x4a7904
lea eax, [ebp - 0x1e0]
mov edx, 4
call fcn.00404920
mov edx, dword [ebp - 0x1e0]
xor ecx, ecx
mov eax, 0x4a6ce8
call fcn.004abbb4
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4a6772
push 0x4a7910
push dword [ebp - 0xc]
push 0x4a78f8
push 0x4a7928
lea eax, [ebp - 0x1e4]
mov edx, 4
call fcn.00404920
mov edx, dword [ebp - 0x1e4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a67ae
push 0x4a7910
push dword [ebp - 0xc]
push 0x4a78f8
push 0x4a7938
lea eax, [ebp - 0x1e8]
mov edx, 4
call fcn.00404920
mov edx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
cmp ebx, 0x20
jne 0x4a6696
xor ecx, ecx
mov edx, 0x4a7948
mov eax, 0x4a6ce8
call fcn.004abbb4
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4a67ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a7968
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a6806
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a798c
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor ecx, ecx
mov edx, 0x4a79b0
mov eax, 0x4a6ce8
call fcn.004abbb4
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4a683b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a79d0
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a6854
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a79f0
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4fc]
mov edx, dword [eax]
call dword [edx + 0x120]
test al, al
je 0x4a6abd
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
mov edx, 0x4a78ac
call fcn.00441cb0
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov edx, dword [eax + 0x170]
inc edx
mov ecx, dword [0x4b0b24]
call fcn.00463b18
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x80]
mov edx, 0x4a7a10
lea eax, [ebp - 0x1d8]
call fcn.00402e30
lea eax, [ebp - 0x1d8]
call fcn.00402bcc
mov edx, 0x4a7224
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
xor edx, edx
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a7a2c
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a7a84
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
mov edx, 0x4a7ab0
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
xor edx, edx
lea eax, [ebp - 0x1d8]
call fcn.00404c7c
call fcn.004032e0
lea eax, [ebp - 0x1d8]
call fcn.00402ef8
xor ecx, ecx
mov edx, 0x4a7ad8
mov eax, 0x4a6ce8
call fcn.004abbb4
xor ecx, ecx
mov edx, 0x4a7b00
mov eax, 0x4a6ce8
call fcn.004abbb4
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x4a6aa4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a7b2c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a7b5c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a7b78
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a7224
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a7a2c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a7bc4
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a7bdc
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a7c08
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a7c20
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a6abd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov eax, dword [eax + 0x220]
mov edx, 0x4a7c48
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a6aea
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
mov edx, 0x4a7c88
call fcn.00441cb0
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [0x4b0b24]
mov eax, dword [eax]
call fcn.0045de04
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a6b49
lea eax, [ebp - 0x1e8]
mov edx, 4
call fcn.004045c4
lea eax, [ebp - 0xc]
call fcn.004045a0
ret