Function at 0x41dcf0
Capabilities:
Contain obfuscated stackstrings
Get common file path
Get startup folder
Hide graphical window
Parse pe header
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5487b4
mov eax, dword fs:[0]
push eax
sub esp, 0x600
mov eax, dword [0x5bf364]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
lea ecx, [ebp - 0x504]
mov dword [ebp - 0x480], 0
call fcn.00405c90
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x4d8]
call fcn.00405c90
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x55c]
call fcn.00405c90
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x47c]
push 0x5c7670
push ecx
lea ecx, [edi + 0x2394]
call fcn.0045e8e0
mov esi, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x504]
mov edx, dword [ebp - 0x504]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x500], ecx
mov ecx, dword [esi + 8]
mov dword [ebp - 0x4fc], ecx
lea ecx, [ebp - 0x4f4]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x4f8], eax
mov eax, dword [ebp - 0x4f4]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x4f4]
call fcn.00405870
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x46c]
call fcn.00405c00
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
test eax, eax
jne 0x41ddf8
cmp dword [ebp - 0x4e0], 0
mov eax, 0x580994
cmovne eax, dword [ebp - 0x4e8]
mov ecx, 0x5891d8
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41de26
test dx, dx
je 0x41de22
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41de26
add eax, 4
add ecx, 4
test dx, dx
jne 0x41de00
xor eax, eax
jmp 0x41de2b
sbb eax, eax
or eax, 1
test eax, eax
je 0x41dee2
lea ecx, [ebp - 0x4ac]
call fcn.00405c90
mov byte [ebp - 4], 6
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x4a0], 0x5891e0
mov byte [ebp - 4], 7
lea eax, [ebp - 0x4ac]
push eax
push 0
lea eax, [ebp - 0x504]
mov ecx, edi
push eax
call fcn.0044f940
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x49c]
call fcn.00405c00
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x47c]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
call fcn.00444ae0
mov byte [ebp - 4], 0xb
mov ecx, eax
call fcn.0047ac40
test eax, eax
jle 0x41dec5
push eax
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
push 0
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x46c]
call fcn.00405c00
mov byte [ebp - 4], 2
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
lea ecx, [ebp - 0x47c]
call fcn.00405c90
mov byte [ebp - 4], 0xe
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x470], str._TR3000_
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x588]
call fcn.00405c90
mov byte [ebp - 4], 0x10
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x57c], str.Transmission_3.00
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x4ac]
call fcn.00405c90
mov byte [ebp - 4], 0x12
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x4a0], 0x588640
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x44c]
call fcn.00405c90
xor eax, eax
mov dword [ebp - 0x480], 2
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x218]
push 0x1a
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x41e017
mov eax, dword [ebp - 0x440]
mov ecx, dword [ebp - 0x430]
test eax, eax
jne 0x41dfaa
cmp dword [ebp - 0x428], 0
je 0x41dfb4
mov eax, ecx
lea edx, [ebp - 0x218]
cmp edx, eax
je 0x41e00c
mov dword [ebp - 0x440], 0
test ecx, ecx
je 0x41dfd2
mov eax, dword [ebp - 0x43c]
push ecx
lea ecx, [ebp - 0x43c]
call dword [eax + 0xc]
cmp word [ebp - 0x218], 0
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x42c], 0
je 0x41e00c
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x43c]
call fcn.004993c0
lea ecx, [ebp - 0x44c]
call fcn.00435be0
push str.SoulDownloaderAria2
lea edx, [ebp - 0x44c]
lea ecx, [ebp - 0x530]
call fcn.0049d910
mov byte [ebp - 4], 0x15
push ecx
lea ecx, [ebp - 0x47c]
push ecx
lea ecx, [ebp - 0x588]
push ecx
lea ecx, [ebp - 0x4ac]
push ecx
sub esp, 0xc
lea ecx, [edi + 0x2038]
push eax
call fcn.00409490
mov dword [edi + 0x2244], eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x520]
call fcn.00405c00
mov byte [ebp - 4], 0x14
mov esi, 2
mov dword [ebp - 0x480], esi
and esi, 0xfffffffd
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov dword [ebp - 0x480], esi
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x43c]
mov dword [ebp - 0x450], eax
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolMem.0
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x430]
test eax, eax
je 0x41e0c0
push eax
mov ecx, 0x5c6708
call fcn.0049a2e0
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x42c], 0
mov byte [ebp - 4], 0x18
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x13
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x49c]
call fcn.00405c00
mov byte [ebp - 4], 0x11
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x578]
call fcn.00405c00
mov byte [ebp - 4], 0xf
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x46c]
call fcn.00405c00
mov byte [ebp - 4], 2
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x4ac]
call fcn.00405c90
xor eax, eax
or esi, 4
push eax
mov dword [ebp - 0x480], esi
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x420]
push 0x1a
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x41e214
mov eax, dword [ebp - 0x4a0]
mov ecx, dword [ebp - 0x490]
test eax, eax
jne 0x41e1a7
cmp dword [ebp - 0x488], 0
je 0x41e1b1
mov eax, ecx
lea edx, [ebp - 0x420]
cmp edx, eax
je 0x41e209
mov dword [ebp - 0x4a0], 0
test ecx, ecx
je 0x41e1cf
mov eax, dword [ebp - 0x49c]
push ecx
lea ecx, [ebp - 0x49c]
call dword [eax + 0xc]
cmp word [ebp - 0x420], 0
mov dword [ebp - 0x490], 0
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x48c], 0
je 0x41e209
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x49c]
call fcn.004993c0
lea ecx, [ebp - 0x4ac]
call fcn.00435be0
push str.SoulDownloader7z.dll
lea edx, [ebp - 0x4ac]
lea ecx, [ebp - 0x530]
call fcn.0049d910
add esp, 4
mov byte [ebp - 4], 0x25
mov edx, dword [eax + 0xc]
test edx, edx
jne 0x41e245
cmp dword [eax + 0x24], edx
mov edx, 0x580994
je 0x41e245
mov edx, dword [eax + 0x1c]
mov ecx, edx
mov dword [ebp - 0x438], 0
xor eax, eax
mov dword [ebp - 0x428], 0
mov word [ebp - 0x438], ax
mov dword [ebp - 0x424], 0
lea eax, [ecx + 2]
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 7
mov dword [ebp - 0x450], eax
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41e290
sub ecx, dword [ebp - 0x450]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x438]
call fcn.00423800
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x438]
push eax
call fcn.00423fc0
mov ecx, eax
call fcn.00424140
movzx eax, al
mov dword [edi + 0x2390], eax
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x424]
cmp edx, 8
jb 0x41e314
mov ecx, dword [ebp - 0x438]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41e30a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41ef4d
push edx
push ecx
call fcn.0050f209
add esp, 8
xor eax, eax
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 7
mov word [ebp - 0x438], ax
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x520]
call fcn.00405c00
mov byte [ebp - 4], 0x24
and esi, 0xfffffffb
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov dword [ebp - 0x480], esi
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0x49c]
mov dword [ebp - 0x450], eax
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolMem.0
mov byte [ebp - 4], 0x2b
mov eax, dword [ebp - 0x490]
test eax, eax
je 0x41e38a
push eax
mov ecx, 0x5c6708
call fcn.0049a2e0
mov dword [ebp - 0x490], 0
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x48c], 0
mov byte [ebp - 4], 0x29
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x47c]
cmp dword [edi + 0x2390], 0
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
jne 0x41e40c
call fcn.00405c90
mov byte [ebp - 4], 0x2c
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x470], 0x589244
mov byte [ebp - 4], 0x2d
lea eax, [ebp - 0x47c]
push eax
lea ecx, [edi + 0x170c]
call fcn.0044f700
mov byte [ebp - 4], 0x2f
jmp 0x41e443
call fcn.00405c90
mov byte [ebp - 4], 0x31
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x470], 0x5891d8
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x47c]
push eax
lea ecx, [edi + 0x170c]
call fcn.0044f700
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x46c]
call fcn.00405c00
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x47c]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
call fcn.00405c90
mov byte [ebp - 4], 0x36
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x470], 0x5891e0
mov byte [ebp - 4], 0x37
lea eax, [ebp - 0x47c]
push eax
push 0
push 0x5c7888
mov ecx, edi
call fcn.0044f940
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x46c]
call fcn.00405c00
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x47c]
cmp dword [edi + 0x2244], 1
mov esi, dword [sym.imp.USER32.dll_InvalidateRect]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
jne 0x41e58a
call fcn.00405c90
mov byte [ebp - 4], 0x3b
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x470], 0x5891d8
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x47c]
push eax
lea ecx, [edi + 0x118c]
call fcn.0044f700
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x46c]
call fcn.00405c00
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x47c]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
call fcn.00405c90
mov byte [ebp - 4], 0x40
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x470], 0x58924c
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x47c]
push eax
lea ecx, [edi + 0x102c]
call fcn.0044f700
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x46c]
call fcn.00405c00
mov byte [ebp - 4], 2
mov ecx, dword [edi + 0x1038]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov dword [eax + 0x38], 0x8000
jmp 0x41e5ee
call fcn.00405c90
mov byte [ebp - 4], 0x45
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x470], 0x589244
mov byte [ebp - 4], 0x46
lea eax, [ebp - 0x47c]
push eax
lea ecx, [edi + 0x118c]
call fcn.0044f700
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x46c]
call fcn.00405c00
mov byte [ebp - 4], 2
mov ecx, dword [edi + 0x1198]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov dword [eax + 0x38], 0xff
mov ecx, dword [eax + 4]
mov dword [ebp - 0x450], eax
test ecx, ecx
je 0x41e61e
cmp dword [eax + 0x50], 0
je 0x41e617
push ecx
mov eax, esp
mov dword [eax], ecx
call fcn.004abb90
mov ecx, dword [ebp - 0x450]
add esp, 4
mov ecx, dword [ecx + 4]
push 0
push 0
push ecx
call esi
lea ecx, [ebp - 0x47c]
call fcn.00405c90
mov byte [ebp - 4], 0x4a
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x470], str.MiniThunderPlatform.exe
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x47c]
call fcn.0047ac40
neg eax
sbb eax, eax
neg eax
mov dword [edi + 0x2034], eax
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x46c]
call fcn.00405c00
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x47c]
cmp dword [edi + 0x2034], 1
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
jne 0x41e6dd
call fcn.00405c90
mov byte [ebp - 4], 0x4f
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x470], 0x5891d8
mov byte [ebp - 4], 0x50
lea eax, [ebp - 0x47c]
push eax
lea ecx, [edi + 0x12ec]
call fcn.0044f700
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x46c]
call fcn.00405c00
mov byte [ebp - 4], 2
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
jmp 0x41e771
call fcn.00405c90
mov byte [ebp - 4], 0x54
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x470], 0x589244
mov byte [ebp - 4], 0x55
lea eax, [ebp - 0x47c]
push eax
lea ecx, [edi + 0x12ec]
call fcn.0044f700
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x46c]
call fcn.00405c00
mov byte [ebp - 4], 2
mov ecx, dword [edi + 0x12f8]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov dword [ebp - 0x450], eax
mov ecx, dword [eax + 4]
mov dword [eax + 0x38], 0xff
test ecx, ecx
je 0x41e771
cmp dword [eax + 0x50], 0
je 0x41e76a
push ecx
mov eax, esp
mov dword [eax], ecx
call fcn.004abb90
mov ecx, dword [ebp - 0x450]
add esp, 4
mov ecx, dword [ecx + 4]
push 0
push 0
push ecx
call esi
cmp dword [edi + 0x2244], 0
jne 0x41e92f
cmp dword [edi + 0x2034], 1
jne 0x41e825
lea ecx, [ebp - 0x47c]
call fcn.00405c90
mov byte [ebp - 4], 0x59
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x470], 0x5892a8
mov byte [ebp - 4], 0x5a
lea eax, [ebp - 0x47c]
push eax
lea ecx, [edi + 0x102c]
call fcn.0044f700
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0x46c]
call fcn.00405c00
mov byte [ebp - 4], 2
mov ecx, dword [edi + 0x1038]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov dword [ebp - 0x450], eax
mov ecx, dword [eax + 4]
mov dword [eax + 0x38], 0x60c0
test ecx, ecx
je 0x41e825
cmp dword [eax + 0x50], 0
je 0x41e81e
push ecx
mov eax, esp
mov dword [eax], ecx
call fcn.004abb90
mov ecx, dword [ebp - 0x450]
add esp, 4
mov ecx, dword [ecx + 4]
push 0
push 0
push ecx
call esi
cmp dword [edi + 0x2244], 0
jne 0x41e92f
cmp dword [edi + 0x2034], 0
jne 0x41e92f
lea ecx, [ebp - 0x47c]
call fcn.00405c90
mov byte [ebp - 4], 0x5e
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x470], 0x5892f8
mov byte [ebp - 4], 0x5f
lea eax, [ebp - 0x47c]
push eax
lea ecx, [edi + 0x102c]
call fcn.0044f700
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x46c]
call fcn.00405c00
mov byte [ebp - 4], 2
mov ecx, dword [edi + 0x1038]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov dword [ebp - 0x450], eax
mov ecx, dword [eax + 4]
mov dword [eax + 0x38], 0xff
test ecx, ecx
je 0x41e8d9
cmp dword [eax + 0x50], 0
je 0x41e8d2
push ecx
mov eax, esp
mov dword [eax], ecx
call fcn.004abb90
mov ecx, dword [ebp - 0x450]
add esp, 4
mov ecx, dword [ecx + 4]
push 0
push 0
push ecx
call esi
lea ecx, [ebp - 0x47c]
call fcn.00405c90
mov byte [ebp - 4], 0x63
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x470], 0x589344
mov byte [ebp - 4], 0x64
lea eax, [ebp - 0x47c]
push eax
lea ecx, [edi + 0xc0c]
call fcn.0044f700
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0x46c]
call fcn.00405c00
mov byte [ebp - 4], 2
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov eax, dword [0x5c76ac]
test eax, eax
jne 0x41e94b
cmp dword [0x5c76c4], 0
mov eax, 0x580994
cmovne eax, dword [0x5c76bc]
mov ecx, 0x589358
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41e976
test dx, dx
je 0x41e972
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41e976
add eax, 4
add ecx, 4
test dx, dx
jne 0x41e950
xor eax, eax
jmp 0x41e97b
sbb eax, eax
or eax, 1
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
test eax, eax
jne 0x41e9d3
mov eax, dword [0x5c1474]
test eax, eax
mov ecx, dword [0x5c146c]
mov edx, dword [edi + 0x1e48]
mov dword [ebp - 0x450], 0
cmove ecx, dword [ebp - 0x450]
push ecx
push eax
push ecx
lea ecx, [edx + 8]
call fcn.00491f30
mov ecx, dword [edi + 0x548]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax]
test eax, eax
je 0x41e9ca
push 5
push eax
call esi
jmp 0x41e9f0
or dword [ecx + 0x34], 0x10000000
jmp 0x41e9f0
mov ecx, dword [edi + 0x548]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax]
test eax, eax
je 0x41e9e9
push 0
push eax
call esi
jmp 0x41e9f0
and dword [ecx + 0x34], 0xefffffff
mov eax, dword [0x5c7868]
test eax, eax
je 0x41e9fd
mov ecx, eax
jmp 0x41ea10
cmp dword [0x5c7880], 0
mov ecx, 0x580994
cmovne ecx, dword [0x5c7878]
mov edx, 0x589360
mov si, word [ecx]
cmp si, word [edx]
jne 0x41ea3b
test si, si
je 0x41ea37
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x41ea3b
add ecx, 4
add edx, 4
test si, si
jne 0x41ea15
xor ecx, ecx
jmp 0x41ea40
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x41ee22
mov ecx, dword [edi + 0x1ca8]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax]
test eax, eax
je 0x41ea64
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push eax
call esi
jmp 0x41ea6b
and dword [ecx + 0x34], 0xefffffff
push 0x5c7728
push 0x5c76fc
push 0x5c72fc
lea eax, [ebp - 0x530]
push eax
lea ecx, [edi + 0x2394]
call fcn.00460a70
mov esi, eax
mov byte [ebp - 4], 0x68
lea ecx, [ebp - 0x4d8]
mov edx, dword [ebp - 0x4d8]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x4d4], ecx
mov ecx, dword [esi + 8]
mov dword [ebp - 0x4d0], ecx
lea ecx, [ebp - 0x4c8]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x4cc], eax
mov eax, dword [ebp - 0x4c8]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x4c8]
call fcn.00405870
mov byte [ebp - 4], 0x69
lea ecx, [ebp - 0x520]
call fcn.00405c00
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x4cc]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
test eax, eax
jne 0x41eb13
cmp dword [ebp - 0x4b4], eax
mov eax, 0x580994
cmovne eax, dword [ebp - 0x4bc]
mov ecx, 0x5891d8
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41eb3e
test dx, dx
je 0x41eb3a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41eb3e
add eax, 4
add ecx, 4
test dx, dx
jne 0x41eb18
xor eax, eax
jmp 0x41eb43
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41eb70
mov ecx, dword [edi + 0x6a8]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax]
test eax, eax
je 0x41eb64
push 1
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x41eed1
and dword [ecx + 0x34], 0xf7ffffff
jmp 0x41eed1
push 0x5c77d8
push 0x5c77ac
push 0x5c7780
lea eax, [ebp - 0x530]
push eax
lea ecx, [edi + 0x2394]
call fcn.00460a70
mov esi, eax
mov byte [ebp - 4], 0x6b
lea ecx, [ebp - 0x55c]
mov edx, dword [ebp - 0x55c]
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x558], ecx
mov ecx, dword [esi + 8]
mov dword [ebp - 0x554], ecx
lea ecx, [ebp - 0x54c]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x550], eax
mov eax, dword [ebp - 0x54c]
call dword [eax + 0x44]
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x54c]
call fcn.00405870
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x520]
call fcn.00405c00
mov byte [ebp - 4], 2
mov edx, 0x5891d8
lea ecx, [ebp - 0x55c]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
call fcn.00412ba0
test eax, eax
jne 0x41eb47
lea ecx, [ebp - 0x588]
call fcn.00405c90
mov byte [ebp - 4], 0x6e
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x57c], 0x589364
mov byte [ebp - 4], 0x6f
lea ecx, [ebp - 0x47c]
call fcn.00405c90
mov byte [ebp - 4], 0x70
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CWConstString.0
mov dword [ebp - 0x470], str._Nag
mov byte [ebp - 4], 0x71
lea edx, [ebp - 0x47c]
push 0x588684
lea ecx, [ebp - 0x5b4]
call fcn.0049d910
mov byte [ebp - 4], 0x72
mov edx, eax
push 0x58937c
lea ecx, [ebp - 0x60c]
call fcn.0049d910
mov byte [ebp - 4], 0x73
lea ecx, [ebp - 0x4d8]
push ecx
mov edx, eax
lea ecx, [ebp - 0x5e0]
call fcn.0049d790
mov byte [ebp - 4], 0x74
mov edx, eax
push 0x588684
lea ecx, [ebp - 0x44c]
call fcn.0049d910
mov byte [ebp - 4], 0x75
mov edx, eax
push 0x589370
lea ecx, [ebp - 0x4ac]
call fcn.0049d910
mov byte [ebp - 4], 0x76
lea ecx, [ebp - 0x55c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x530]
call fcn.0049d790
add esp, 0x18
mov byte [ebp - 4], 0x77
lea ecx, [ebp - 0x588]
push ecx
push 0
push eax
mov ecx, edi
call fcn.0044f940
mov byte [ebp - 4], 0x78
lea ecx, [ebp - 0x520]
call fcn.00405c00
mov byte [ebp - 4], 0x76
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x7a
lea ecx, [ebp - 0x49c]
call fcn.00405c00
mov byte [ebp - 4], 0x75
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x43c]
call fcn.00405c00
mov byte [ebp - 4], 0x74
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x7e
lea ecx, [ebp - 0x5d0]
call fcn.00405c00
mov byte [ebp - 4], 0x73
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x80
lea ecx, [ebp - 0x5fc]
call fcn.00405c00
mov byte [ebp - 4], 0x72
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x82
lea ecx, [ebp - 0x5a4]
call fcn.00405c00
mov byte [ebp - 4], 0x71
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x85
lea ecx, [ebp - 0x46c]
call fcn.00405c00
mov byte [ebp - 4], 0x6f
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x88
lea ecx, [ebp - 0x578]
call fcn.00405c00
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x5b4]
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
call fcn.00444ae0
mov byte [ebp - 4], 0x8a
mov ecx, eax
call fcn.0047ac00
mov byte [ebp - 4], 0x8b
lea ecx, [ebp - 0x5a4]
call fcn.00405c00
mov byte [ebp - 4], 2
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
jmp 0x41eed1
test eax, eax
jne 0x41ee38
cmp dword [0x5c7880], eax
mov eax, 0x580994
cmovne eax, dword [0x5c7878]
mov ecx, 0x5893b0
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41ee66
test dx, dx
je 0x41ee62
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41ee66
add eax, 4
add ecx, 4
test dx, dx
jne 0x41ee40
xor eax, eax
jmp 0x41ee6b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41eed1
mov ecx, dword [edi + 0x6a8]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax]
test eax, eax
je 0x41ee8b
push 0
push eax
call esi
jmp 0x41ee92
and dword [ecx + 0x34], 0xefffffff
mov ecx, dword [edi + 0x1ca8]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax]
test eax, eax
je 0x41eea8
push 5
push eax
call esi
jmp 0x41eeaf
or dword [ecx + 0x34], 0x10000000
push ecx
push 0x5c7754
lea ecx, [edi + 0x1c9c]
call fcn.0044c540
push ecx
push 0x5c7804
lea ecx, [edi + 0x1c9c]
call fcn.0044c540
mov byte [ebp - 4], 0x8d
lea ecx, [ebp - 0x54c]
call fcn.00405c00
mov byte [ebp - 4], 1
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov byte [ebp - 4], 0x8f
lea ecx, [ebp - 0x4c8]
call fcn.00405c00
mov byte [ebp - 4], 0
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov dword [ebp - 4], 0x91
lea ecx, [ebp - 0x4f4]
call fcn.00405c00
mov dword [ebp - 4], 0xffffffff
xor eax, eax
mov dword [ebp - method.CMStringArray.virtual_0], vtable.CVolObject.0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0050ec8c
mov esp, ebp
pop ebp
ret 8
call fcn.0051936e
int3