Function at 0x4055c0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov eax, dword [edx + 4]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], edx
test eax, eax
je 0x405855
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_towlower]
lea edi, [edx + 8]
mov dword [ebp - 0x18], ecx
jmp 0x4055fd
mov eax, dword [edi]
add edi, 4
test eax, eax
je 0x405855
movzx ecx, word [eax]
or ecx, 2
cmp cx, 0x2f
jne 0x4055f0
xor edx, edx
cmp word [eax + 2], 0x2d
lea esi, [eax + 2]
lea ecx, [eax + 4]
sete dl
cmove esi, ecx
movzx eax, word [eax + edx*2 + 2]
test ax, ax
je 0x4055f0
movzx eax, ax
push eax
call ebx
add esp, 4
cmp ax, 0x6f
jne 0x4055f0
movzx eax, word [esi + 2]
test ax, ax
je 0x4055f0
movzx eax, ax
push eax
call ebx
add esp, 4
cmp ax, 0x73
jne 0x4055f0
movzx eax, word [esi + 4]
test ax, ax
je 0x4055f0
movzx eax, ax
push eax
call ebx
add esp, 4
cmp ax, 0x69
jne 0x4055f0
movzx eax, word [esi + 6]
test ax, ax
je 0x4055f0
movzx eax, ax
push eax
call ebx
add esp, 4
cmp ax, 0x6e
jne 0x4055f0
movzx eax, word [esi + 8]
test ax, ax
je 0x4055f0
movzx eax, ax
push eax
call ebx
add esp, 4
cmp ax, 0x74
jne 0x4055f0
cmp word [esi + 0xa], 0
jne 0x4055f0
mov eax, dword [ebp - 0x10]
cmp dword [eax], 4
jne 0x40585d
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
movzx ecx, word [eax]
or ecx, 2
cmp cx, 0x2f
jne 0x40585d
xor edx, edx
cmp word [eax + 2], 0x2d
lea esi, [eax + 2]
lea ecx, [eax + 4]
sete dl
cmove esi, ecx
movzx eax, word [eax + edx*2 + 2]
test ax, ax
je 0x40585d
movzx eax, ax
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_towlower]
add esp, 4
cmp ax, 0x6f
jne 0x40585d
movzx eax, word [esi + 2]
test ax, ax
je 0x40585d
movzx eax, ax
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_towlower]
add esp, 4
cmp ax, 0x73
jne 0x40585d
movzx eax, word [esi + 4]
test ax, ax
je 0x40585d
movzx eax, ax
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_towlower]
add esp, 4
cmp ax, 0x69
jne 0x40585d
movzx eax, word [esi + 6]
test ax, ax
je 0x40585d
movzx eax, ax
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_towlower]
add esp, 4
cmp ax, 0x6e
jne 0x40585d
movzx eax, word [esi + 8]
test ax, ax
je 0x40585d
movzx eax, ax
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_towlower]
add esp, 4
cmp ax, 0x74
jne 0x40585d
cmp word [esi + 0xa], 0
jne 0x40585d
mov eax, dword [ebp - 0x14]
add eax, 8
mov ecx, dword [eax]
mov dword [eax - 4], ecx
add eax, 4
test ecx, ecx
jne 0x4057a7
mov eax, dword [ebp - 0x10]
dec dword [eax]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
movzx ecx, word [eax]
or ecx, 2
cmp cx, 0x2f
jne 0x40585d
cmp word [eax + 2], 0x2d
lea ecx, [eax + 2]
lea eax, [eax + 4]
cmove ecx, eax
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp + 8]
mov edi, dword [ecx]
test edi, edi
jne 0x4057fe
jmp 0x40585d
test cl, cl
je 0x405843
mov eax, dword [ebp - 0x18]
mov edi, dword [eax + 4]
add eax, 4
mov dword [ebp - 0x18], eax
test edi, edi
je 0x40585d
mov eax, dword [ebp - 0x10]
movzx eax, word [eax]
test ax, ax
setne cl
cmp word [edi], 0
je 0x4057ea
mov esi, 2
test cl, 1
je 0x4057ee
movzx eax, ax
push eax
call ebx
add esp, 4
cmp ax, word [edi + esi - 2]
jne 0x4057ee
mov eax, dword [ebp - 0x10]
movzx eax, word [eax + esi]
test ax, ax
setne cl
cmp word [edi + esi], 0
lea esi, [esi + 2]
jne 0x405815
jmp 0x4057ea
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
movzx eax, word [eax]
or eax, 2
cmp ax, 0x2f
je 0x40585d
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x7f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3