Function at 0x40667a
Capabilities:
Query or enumerate registry key
Query or enumerate registry value
Set registry value

Disassembly:
push 0xdd0
mov eax, 0x433628
call fcn.00432eed
mov dword [ebp - 0xd90], edx
mov esi, ecx
mov ebx, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 0xd8c], ebx
mov dword [ebp - 0xdc8], ecx
mov byte [ebp - 0xd4d], cl
mov dword [ebp - 0xd7c], ecx
mov byte [ebp - 0xd4e], cl
mov byte [ebp - 0xd4f], cl
mov byte [ebp - 0xd78], cl
mov dword [ebp - 0xd5c], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0xdc0], ecx
mov dword [ebp - 0xdbc], ecx
mov dword [ebp - 0xd64], ecx
mov dword [ebp - 0xd54], ecx
mov dword [ebp - 0xd74], ecx
mov dword [ebp - 0xd70], ecx
mov dword [ebp - 0xd94], ecx
mov dword [ebp - 0xd98], ecx
mov dword [ebp - 0xd9c], ecx
mov dword [ebp - 0xdac], ecx
mov byte [ebp - 4], 0xa
xor eax, eax
mov word [ebp - 0x50], ax
mov edx, 0x851
mov word [ebp - 0xdd0], ax
lea eax, [ebp - 0xddc]
push eax
push str.Start_Verb_Registration:
mov dword [ebp - 0xd6c], ecx
mov dword [ebp - 0xdc4], ecx
mov dword [ebp - 0xda0], ecx
mov ecx, 0x170b011
push 0x64
mov dword [ebp - 0xdb8], 0x28
mov dword [ebp - 0xdcc], 0x208
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], vtable.Mso::Logging::StructuredObject_wchar_t_const___1_.0
mov dword [ebp - 0xdd8], str.Param
mov dword [ebp - 0xdd4], ebx
call fcn.00401c18
mov edx, str.print
mov ecx, ebx
call fcn.0040be84
test eax, eax
mov dword [ebp - 0xda4], eax
lea eax, [ebp - 0xda8]
mov edx, str.shell
push eax
lea eax, [ebp - 0xd94]
sete byte [ebp - 0xd60]
push eax
sub esp, 0x14
mov ecx, esi
call fcn.0040c622
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
jne 0x40742c
mov ecx, dword [ebp - 0xd94]
lea eax, [ebp - 0xda8]
push eax
lea eax, [ebp - 0xd5c]
mov edx, ebx
push eax
sub esp, 0x14
call fcn.0040c622
test eax, eax
jne 0x40742c
mov ecx, dword [ebp - 0xd5c]
lea eax, [ebp - 0xda8]
push eax
lea eax, [ebp - 0xd74]
mov edx, str.command
push eax
sub esp, 0x14
call fcn.0040c622
test eax, eax
jne 0x40742c
mov ecx, dword [ebp - 0xd74]
lea eax, [ebp - 0xd6c]
push eax
lea eax, [ebp - 0xda0]
xor edx, edx
push eax
call fcn.004098ff
xor ebx, ebx
inc ebx
test eax, eax
je 0x4073d6
mov eax, dword [ebp - 0xda0]
test eax, eax
je 0x4068a4
mov ecx, str.msohtmed.exe
call fcn.0040bd8c
mov ecx, dword [ebp - 0xda0]
dec eax
mov dword [ebp - 0xd6c], eax
jmp 0x40687b
push dword [ebp - 0xd6c]
lea eax, [esi + 2]
mov edx, 0x438386
mov ecx, eax
mov dword [ebp - 0xd68], eax
call fcn.0040bf47
test eax, eax
jne 0x406889
mov ecx, dword [ebp - 0xd68]
cmp word [ecx], ax
je 0x406893
push 0x6d
pop edx
call fcn.0040bdf6
mov esi, eax
test esi, esi
jne 0x406851
mov eax, dword [ebp - 0xda0]
xor ecx, ecx
jmp 0x4068a8
mov eax, dword [ebp - 0xd60]
mov dword [ebp - 0xd60], eax
jmp 0x406aea
xor ecx, ecx
mov esi, ecx
test esi, esi
je 0x406aea
mov byte [ebp - 0xd4d], cl
mov dword [ebp - 0xd68], ecx
mov dword [ebp - 0xdb4], ecx
mov dword [ebp - 0xd58], ecx
mov dword [ebp - 0xd84], ecx
mov ecx, eax
call fcn.00405b22
mov esi, eax
lea ecx, [ebp - 0xd4c]
push 2
mov dword [ebp - 0xd80], esi
call fcn.0040a130
test eax, eax
je 0x406b1a
lea edx, [ebp - 0xd4c]
mov ecx, esi
call fcn.0040be84
test eax, eax
je 0x40690e
mov byte [ebp - 0xd4d], bl
jmp 0x406b28
lea eax, [ebp - 0xd68]
mov esi, 0x20019
push eax
push esi
push ecx
mov edx, 0x438360
mov ecx, Ordinal_1
call fcn.0040c5c8
test eax, eax
jne 0x406b1a
lea eax, [ebp - 0xdb4]
mov edx, str.42042206_2D85_11D3_8CFF_005004838597
push eax
push esi
push ecx
mov ecx, dword [ebp - 0xd68]
call fcn.0040c5c8
test eax, eax
jne 0x406b1a
lea eax, [ebp - 0xd58]
mov edx, str.Version
push eax
push esi
push ecx
mov ecx, dword [ebp - 0xdb4]
call fcn.0040c5c8
test eax, eax
jne 0x406b1a
xor ecx, ecx
lea eax, [ebp - 0xdd4]
push eax
push ecx
push ecx
push ecx
lea eax, [ebp - 0xd6c]
mov esi, ecx
push eax
lea eax, [ebp - 0x28]
push eax
push ecx
jmp 0x406a59
cmp dword [ebp - 0xd84], 0
je 0x4069a5
push dword [ebp - 0xd84]
call edi
xor eax, eax
lea edx, [ebp - 0x28]
mov dword [ebp - 0xd84], eax
lea eax, [ebp - 0xd84]
push eax
push 0x20019
push ecx
mov ecx, dword [ebp - 0xd58]
call fcn.0040c5c8
test eax, eax
jne 0x406a40
movzx eax, byte [ebp - 0x324]
xor ecx, ecx
cmp dword [ebp - 0xd88], ebx
mov dword [ebp - 0xdb0], 0x208
cmove eax, ecx
mov byte [ebp - 0x324], al
lea eax, [ebp - 0xdb0]
push eax
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0xd88]
push eax
xor eax, eax
push eax
push eax
push dword [ebp - 0xd84]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x406a40
mov ecx, dword [ebp - 0xd80]
lea edx, [ebp - 0x324]
call fcn.0040be84
test eax, eax
je 0x406a40
push 0xa
pop edx
lea ecx, [ebp - 0x28]
call fcn.0040c2a0
cmp eax, 0x10
jae 0x406b10
lea eax, [ebp - 0xdd4]
inc esi
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0xd6c]
push eax
lea eax, [ebp - 0x28]
push eax
push esi
push dword [ebp - 0xd58]
mov dword [ebp - 0xd6c], 0xa
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x406994
mov eax, dword [ebp - 0xd60]
mov dword [ebp - 0xd60], eax
xor byte [ebp - 0xd4d], bl
cmp dword [ebp - 0xd84], 0
je 0x406a9a
push dword [ebp - 0xd84]
call edi
xor esi, esi
mov dword [ebp - 0xd84], esi
cmp dword [ebp - 0xd58], esi
je 0x406ab2
push dword [ebp - 0xd58]
call edi
mov dword [ebp - 0xd58], esi
cmp dword [ebp - 0xdb4], esi
je 0x406ac8
push dword [ebp - 0xdb4]
call edi
mov dword [ebp - 0xdb4], esi
cmp dword [ebp - 0xd68], esi
je 0x406aea
push dword [ebp - 0xd68]
call edi
mov al, byte [ebp - 0xd4d]
mov byte [ebp - 0xd4d], al
mov esi, dword [ebp - 0xda0]
xor eax, eax
cmp word [esi], ax
je 0x406bce
mov ecx, str.fpxpress.exe
call fcn.0040bd8c
dec eax
mov ecx, esi
mov dword [ebp - 0xd80], eax
jmp 0x406b5f
mov cl, bl
mov byte [ebp - 0xd4d], cl
jmp 0x406b20
mov cl, byte [ebp - 0xd4d]
test cl, cl
je 0x406a77
xor eax, eax
mov byte [ebp - 0xd60], al
jmp 0x406a83
push dword [ebp - 0xd80]
lea eax, [esi + 2]
mov edx, 0x437a1e
mov ecx, eax
mov dword [ebp - 0xdb0], eax
call fcn.0040bf47
test eax, eax
jne 0x406b6d
mov ecx, dword [ebp - 0xdb0]
cmp word [ecx], ax
je 0x406b71
push 0x66
pop edx
call fcn.0040bdf6
mov esi, eax
test esi, esi
jne 0x406b35
test esi, esi
jne 0x406bce
mov ecx, str.winword.exe
call fcn.0040bd8c
mov ecx, dword [ebp - 0xda0]
dec eax
mov dword [ebp - 0xd80], eax
jmp 0x406bb4
push dword [ebp - 0xd80]
lea eax, [esi + 2]
mov edx, 0x437a3a
mov ecx, eax
mov dword [ebp - 0xdb0], eax
call fcn.0040bf47
test eax, eax
jne 0x406bc2
mov ecx, dword [ebp - 0xdb0]
cmp word [ecx], ax
je 0x406bd4
push 0x77
pop edx
call fcn.0040bdf6
mov esi, eax
test esi, esi
jne 0x406b8a
test esi, esi
je 0x406bd4
mov byte [ebp - 0xd4d], bl
jmp 0x406bf1
mov byte [ebp - 0xd4d], bl
cmp dword [ebp + 0x10], 0
je 0x406bf1
cmp dword [ebp - 0xda4], 0
jne 0x406bf1
cmp dword [ebp - 0xd90], 0
mov esi, str.SharePointDesigner.Editor.Document
je 0x406bf6
mov esi, str.Word.Document
xor eax, eax
mov dword [ebp - 0xd6c], eax
push 0x104
mov edx, esi
lea ecx, [ebp - 0x734]
call fcn.0040bfdc
push 0x104
mov edx, 0x436800
lea ecx, [ebp - 0x734]
call fcn.0040c02b
xor eax, eax
lea edx, [ebp - 0x734]
mov dword [ebp - 0xd58], eax
lea eax, [ebp - 0xd58]
push eax
push 0x20019
push ecx
mov ecx, Ordinal_1
call fcn.0040c5c8
test eax, eax
jne 0x406d21
movzx eax, byte [ebp - 0x11c]
xor ecx, ecx
cmp dword [ebp - 0xd88], ebx
mov dword [ebp - 0xd80], 0xc8
cmove eax, ecx
mov byte [ebp - 0x11c], al
lea eax, [ebp - 0xd80]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0xd88]
push eax
xor eax, eax
push eax
push eax
push dword [ebp - 0xd58]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x406d21
cmp dword [ebp - 0xda4], eax
je 0x406cc3
push 0x64
mov edx, str._shell_
lea ecx, [ebp - 0x11c]
call fcn.0040c02b
mov edx, dword [ebp - 0xd8c]
jmp 0x406cc8
mov edx, str._shellopen
push 0x64
lea ecx, [ebp - 0x11c]
call fcn.0040c02b
cmp dword [ebp - 0xd70], 0
je 0x406ce6
push dword [ebp - 0xd70]
call edi
xor eax, eax
lea edx, [ebp - 0x11c]
mov dword [ebp - 0xd70], eax
lea eax, [ebp - 0xd70]
push eax
push 0x20019
push ecx
mov ecx, Ordinal_1
call fcn.0040c5c8
mov ecx, dword [ebp - 0xd78]
test eax, eax
movzx ecx, cl
cmove ecx, ebx
mov dword [ebp - 0xd78], ecx
jmp 0x406d27
mov ecx, dword [ebp - 0xd78]
test cl, cl
jne 0x406d54
cmp dword [ebp - 0xd6c], 0
jne 0x406d54
mov eax, str.SharePointDesigner.Editor.Document
cmp esi, eax
jne 0x406d44
mov esi, str.Word.Document
jmp 0x406d54
mov esi, dword [ebp - 0xd90]
test esi, esi
jne 0x40705c
mov esi, eax
cmp dword [ebp - 0xd58], 0
je 0x406d65
push dword [ebp - 0xd58]
call edi
xor eax, eax
mov dword [ebp - 0xd58], eax
mov eax, dword [ebp - 0xd6c]
inc eax
mov dword [ebp - 0xd6c], eax
cmp eax, 2
jb 0x406bfe
mov esi, dword [ebp - 0xd90]
push esi
lea edx, [ebp - 0xd9c]
lea ecx, [ebp - 0xd98]
call fcn.004061b7
mov eax, dword [ebp - 0xd60]
test al, al
je 0x406ead
mov cl, byte [ebp - 0xd4d]
mov esi, dword [ebp - 0xd8c]
test cl, cl
je 0x406e9c
xor eax, eax
mov edx, esi
mov dword [ebp - 0xd68], eax
lea eax, [ebp - 0xd68]
push eax
push 0x20019
push ecx
mov ecx, dword [ebp - 0xd98]
call fcn.0040c5c8
test eax, eax
jne 0x406e85
mov dword [ebp - 0xd78], eax
mov edx, 0x437a68
lea eax, [ebp - 0xd78]
push eax
push 0x20019
push ecx
mov ecx, dword [ebp - 0xd68]
call fcn.0040c5c8
test eax, eax
jne 0x406e74
movzx eax, byte [ebp - 0xb44]
xor ecx, ecx
cmp dword [ebp - 0xd88], ebx
mov dword [ebp - 0xd80], 0x410
cmove eax, ecx
mov byte [ebp - 0xb44], al
lea eax, [ebp - 0xd80]
push eax
lea eax, [ebp - 0xb44]
push eax
lea eax, [ebp - 0xd88]
push eax
xor eax, eax
push eax
push eax
push dword [ebp - 0xd78]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x406e74
mov eax, dword [ebp - 0xd60]
xor ecx, ecx
cmp word [ebp - 0xb44], cx
movzx eax, al
cmovne eax, ecx
mov dword [ebp - 0xd60], eax
cmp dword [ebp - 0xd78], 0
je 0x406e85
push dword [ebp - 0xd78]
call edi
cmp dword [ebp - 0xd68], 0
je 0x406e96
push dword [ebp - 0xd68]
call edi
mov eax, dword [ebp - 0xd60]
test al, al
je 0x406ead
mov ecx, dword [ebp - 0xd98]
mov edx, esi
call fcn.0040976b
mov esi, dword [ebp - 0xd8c]
lea eax, [ebp - 0xda8]
mov ecx, dword [ebp - 0xd98]
mov edx, esi
push eax
lea eax, [ebp - 0xd64]
push eax
sub esp, 0x14
call fcn.0040c622
test eax, eax
jne 0x4073d6
lea eax, [ebp - 0xd54]
mov edx, esi
push eax
push 0x20019
push ecx
mov ecx, dword [ebp - 0xd9c]
call fcn.0040c5c8
test eax, eax
jne 0x40709c
lea eax, [ebp - 0xdc0]
mov edx, str.command
push eax
push 0x20019
push ecx
mov ecx, dword [ebp - 0xd54]
call fcn.0040c5c8
test eax, eax
jne 0x40709c
cmp byte [ebp - 0xd60], al
jne 0x407076
lea eax, [ebp - 0xdac]
mov edx, 0x437a68
push eax
push 0x20019
push ecx
mov ecx, dword [ebp - 0xd64]
call fcn.0040c5c8
test eax, eax
jne 0x406f97
movzx eax, byte [ebp - 0x52c]
xor ecx, ecx
cmp dword [ebp - 0xd88], ebx
cmove eax, ecx
mov byte [ebp - 0x52c], al
lea eax, [ebp - 0xdcc]
push eax
lea eax, [ebp - 0x52c]
push eax
lea eax, [ebp - 0xd88]
push eax
xor eax, eax
push eax
push eax
push dword [ebp - 0xdac]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x406f97
cmp word [ebp - 0x52c], ax
jne 0x406fc4
mov eax, dword [ebp - 0xd70]
test eax, eax
je 0x406fbe
mov ecx, dword [ebp - 0xd54]
mov edx, dword [ebp - 0xd64]
cmovne ecx, eax
xor eax, eax
push eax
call fcn.004093b6
mov dword [ebp - 0xd7c], ebx
mov byte [ebp - 0xd4f], bl
mov al, byte [ebp - 0xd4e]
cmp dword [ebp - 0xda4], 0
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
jne 0x4071af
cmp dword [ebp - 0xd7c], 0
jne 0x406fee
test al, al
je 0x4071af
push dword [ebp - 0xd90]
mov edx, dword [ebp - 0xd8c]
lea eax, [ebp - 0xdb8]
mov ecx, dword [ebp - 0xd5c]
push eax
lea eax, [ebp - 0x50]
push eax
xor eax, eax
push eax
call fcn.00406353
cmp dword [ebp - 0xd7c], 0
je 0x407033
push dword [ebp - 0xdb8]
lea eax, [ebp - 0x50]
push eax
push ebx
xor eax, eax
push eax
push eax
push dword [ebp - 0xd64]
call esi
cmp byte [ebp - 0xd4e], 0
je 0x4071af
push dword [ebp - 0xdb8]
lea eax, [ebp - 0x50]
push eax
push ebx
xor ebx, ebx
push ebx
push ebx
push dword [ebp - 0xd54]
call esi
jmp 0x4071b1
cmp dword [ebp - 0xd58], 0
je 0x406d89
push dword [ebp - 0xd58]
call edi
jmp 0x406d89
cmp byte [ebp - 0xd4d], 0
jne 0x406f97
mov edx, dword [ebp - 0xd64]
xor eax, eax
mov ecx, dword [ebp - 0xd5c]
push eax
call fcn.004093b6
jmp 0x406fbe
cmp dword [ebp - 0xd54], 0
je 0x4070c3
mov ecx, dword [ebp - 0xd9c]
mov edx, esi
call fcn.0040976b
cmp dword [ebp - 0xd54], 0
je 0x4070c3
push dword [ebp - 0xd54]
call edi
mov ecx, dword [ebp - 0xd9c]
xor eax, eax
mov dword [ebp - 0xd54], eax
mov edx, esi
lea eax, [ebp - 0xda8]
push eax
lea eax, [ebp - 0xd54]
push eax
sub esp, 0x14
call fcn.0040c622
test eax, eax
jne 0x4073d6
lea eax, [ebp - 0xdbc]
mov edx, str.command
push eax
push 0x20019
push ecx
mov ecx, dword [ebp - 0xd64]
call fcn.0040c5c8
test eax, eax
jne 0x407141
cmp byte [ebp - 0xd60], al
jne 0x40714a
mov ecx, dword [ebp - 0xd70]
test ecx, ecx
je 0x406fc4
mov edx, dword [ebp - 0xd54]
push eax
call fcn.004093b6
mov al, bl
mov byte [ebp - 0xd4e], al
jmp 0x406fca
cmp byte [ebp - 0xd60], 0
je 0x407153
cmp byte [ebp - 0xd4d], 0
je 0x407187
cmp dword [ebp - 0xda4], 0
jne 0x407187
mov ecx, dword [ebp - 0xd70]
test ecx, ecx
je 0x40719e
push dword [ebp - 0xd54]
mov edx, dword [ebp - 0xd64]
call fcn.004093b6
mov al, bl
mov byte [ebp - 0xd4e], bl
mov dword [ebp - 0xd7c], ebx
jmp 0x4071a4
push dword [ebp - 0xd54]
mov edx, dword [ebp - 0xd64]
mov ecx, dword [ebp - 0xd5c]
call fcn.004093b6
mov al, byte [ebp - 0xd4e]
mov byte [ebp - 0xd4f], bl
jmp 0x406fca
xor ebx, ebx
cmp byte [ebp - 0xd4f], 0
je 0x407226
mov dword [ebp - 0xd7c], ebx
mov esi, dword [ebp - 0xd90]
lea eax, [ebp - 0xd7c]
push eax
push 0x2001f
mov eax, str.SOFTWAREMicrosoftSharedHTML
mov byte [ebp - 4], 0xb
test esi, esi
mov edx, str.SOFTWAREMicrosoftSharedMHTML
push ecx
mov ebx, reloc.AppVIsvSubsystems32.dll_Ordinal_1
cmove edx, eax
mov ecx, ebx
call fcn.0040c5c8
test eax, eax
jne 0x407206
mov ecx, dword [ebp - 0xd7c]
mov edx, str.Default_Editor
call fcn.0040976b
mov edx, esi
mov ecx, ebx
call fcn.004080b6
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0xd7c], 0
je 0x40722c
push dword [ebp - 0xd7c]
call edi
jmp 0x40722c
mov esi, dword [ebp - 0xd90]
xor ebx, ebx
lea ecx, [ebp - 0xdc4]
cmp dword [ebp - 0xda4], ebx
setne bl
mov edx, ebx
call fcn.00406571
cmp word [ebp - 0x50], 0
jne 0x40726d
mov ecx, dword [ebp - 0xd5c]
lea eax, [ebp - 0xdb8]
push esi
push eax
lea eax, [ebp - 0x50]
push eax
push ebx
mov ebx, dword [ebp - 0xd8c]
mov edx, ebx
call fcn.00406353
jmp 0x407273
mov ebx, dword [ebp - 0xd8c]
cmp dword [ebp - 0xd5c], 0
je 0x407284
push dword [ebp - 0xd5c]
call edi
xor eax, eax
mov dword [ebp - 0xd5c], eax
cmp dword [ebp - 0xd74], eax
je 0x40729e
push dword [ebp - 0xd74]
call edi
xor eax, eax
mov ecx, dword [ebp - 0xd94]
mov edx, ebx
mov dword [ebp - 0xd74], eax
call fcn.0040976b
mov ecx, dword [ebp - 0xd94]
lea eax, [ebp - 0xda8]
push eax
lea eax, [ebp - 0xd5c]
mov edx, ebx
push eax
sub esp, 0x14
call fcn.0040c622
mov esi, dword [ebp - 0xdc4]
test eax, eax
jne 0x407382
push dword [ebp - 0xdb8]
lea eax, [ebp - 0x50]
xor ebx, ebx
push eax
inc ebx
xor eax, eax
push ebx
push eax
push eax
push dword [ebp - 0xd5c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x407385
mov ecx, dword [ebp - 0xd5c]
lea eax, [ebp - 0xda8]
push eax
lea eax, [ebp - 0xd74]
mov edx, str.command
push eax
sub esp, 0x14
call fcn.0040c622
test eax, eax
jne 0x407385
mov eax, esi
xor edx, edx
mov ecx, edx
test eax, eax
je 0x407340
cmp word [esi], dx
je 0x407340
lea eax, [eax + 2]
inc ecx
cmp word [eax], dx
jne 0x407337
lea eax, [ecx + ecx]
push eax
push esi
push ebx
push edx
push edx
push dword [ebp - 0xd74]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x407385
cmp dword [ebp - 0xda4], eax
jne 0x40737a
push dword [ebp - 0xd90]
mov edx, dword [ebp - 0xd64]
mov ecx, 0x80000002
call fcn.00407a55
test eax, eax
je 0x407385
mov dword [ebp - 0xdc8], ebx
jmp 0x407385
xor ebx, ebx
inc ebx
test esi, esi
je 0x4073d6
lea ebx, [esi - 0xc]
cmp ebx, esi
jae 0x4073d3
mov edx, dword [ebx]
mov al, 1
add edx, esi
xor esi, esi
mov ecx, esi
test al, al
je 0x4073ac
cmp byte [ecx + ebx + 4], 0xab
sete al
inc ecx
cmp ecx, 8
jb 0x40739a
mov ecx, esi
test al, al
je 0x4073c6
mov ah, byte [ecx + edx]
cmp ah, 0xab
sete al
inc ecx
cmp ecx, 8
jb 0x4073ae
cmp ah, 0xab
je 0x4073cc
call dword [sym.imp.KERNEL32.dll_DebugBreak]
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0xda0]
test eax, eax
je 0x40742c
lea esi, [eax - 0xc]
cmp esi, eax
jae 0x40742c
mov edx, dword [esi]
add edx, eax
xor eax, eax
mov ecx, eax
test bl, bl
je 0x407401
cmp byte [ecx + esi + 4], 0xab
sete bl
inc ecx
cmp ecx, 8
jb 0x4073ef
xor eax, eax
mov ecx, eax
test bl, bl
je 0x40741f
mov ah, byte [ecx + edx]
cmp ah, 0xab
sete al
inc ecx
mov bl, al
cmp ecx, 8
jb 0x407405
cmp ah, 0xab
je 0x407425
call dword [sym.imp.KERNEL32.dll_DebugBreak]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0xdac], 0
je 0x40743d
push dword [ebp - 0xdac]
call edi
xor ebx, ebx
mov dword [ebp - 0xdac], ebx
cmp dword [ebp - 0xd9c], ebx
je 0x407455
push dword [ebp - 0xd9c]
call edi
mov dword [ebp - 0xd9c], ebx
cmp dword [ebp - 0xd98], ebx
je 0x40746b
push dword [ebp - 0xd98]
call edi
mov dword [ebp - 0xd98], ebx
cmp dword [ebp - 0xd94], ebx
je 0x407481
push dword [ebp - 0xd94]
call edi
mov dword [ebp - 0xd94], ebx
cmp dword [ebp - 0xd70], ebx
je 0x407497
push dword [ebp - 0xd70]
call edi
mov dword [ebp - 0xd70], ebx
cmp dword [ebp - 0xd74], ebx
je 0x4074ad
push dword [ebp - 0xd74]
call edi
mov dword [ebp - 0xd74], ebx
cmp dword [ebp - 0xd54], ebx
je 0x4074c3
push dword [ebp - 0xd54]
call edi
mov dword [ebp - 0xd54], ebx
cmp dword [ebp - 0xd64], ebx
je 0x4074d9
push dword [ebp - 0xd64]
call edi
mov dword [ebp - 0xd64], ebx
cmp dword [ebp - 0xdbc], ebx
je 0x4074ef
push dword [ebp - 0xdbc]
call edi
mov dword [ebp - 0xdbc], ebx
cmp dword [ebp - 0xdc0], ebx
je 0x407505
push dword [ebp - 0xdc0]
call edi
mov dword [ebp - 0xdc0], ebx
cmp dword [ebp - 0xd5c], ebx
je 0x40751b
push dword [ebp - 0xd5c]
call edi
mov eax, dword [ebp - 0xdc8]
call fcn.00432ea2
ret 0xc