Function at 0x483641
Capabilities:
Print debug messages

Disassembly:
mov ecx, dword [ebp - 4]
xor ebx, ebx
add eax, 0x1038
sub eax, 0x1038
sub esp, 0
jns 0x48359c
neg edi
neg edi
ja 0x4835a7
jp 0x4835a4
jbe 0x4835a7
mov ebx, 0xf03f983
xchg dword [edx], ecx
add al, byte [eax]
add bh, bh
invalid
and al, 0x8d
loopne 0x4835ed
cmp ecx, 3
ja case.default.0x4835b0
jmp dword [ecx*4 + 0x4838e0]
dec eax
add byte [edx + 0xc], ch
push 0xc
push 0xc
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.0048eb40
mov al, 0x5d
add esp, 0xc
mov byte [ebp - 0x18], al
mov byte [ebp - 0x17], al
mov byte [ebp - 0x16], 0x2f
mov byte [ebp - 0x15], al
mov byte [ebp - 0x14], 0x55
mov byte [ebp - 0x13], 0x53
mov byte [ebp - 0x12], 0x58
mov byte [ebp - 0x11], bl
add edi, 0
xchg edi, eax
xchg edi, eax
je 0x483604
pushf
xchg esi, esi
lea edi, [edi]
jae 0x4835f3
popf
lea edi, [edi + 0x45e5]
lea edi, [edi - 0x45e5]
jne 0x483604
mov ebx, 0x8ae8458a
push ebp
in eax, dx
mov al, byte [ebp - 0x18]
mov dl, byte [ebp - 0x13]
mov cl, byte [ebp - 0x17]
dec al
mov byte [ebp - 0x18], al
mov al, byte [ebp - 0x12]
dec dl
dec cl
mov byte [ebp - 0x13], dl
mov dl, byte [ebp - 0x16]
dec al
mov byte [ebp - 0x17], cl
mov cl, byte [ebp - 0x15]
mov byte [ebp - 0x12], al
mov al, byte [ebp - 0x14]
dec dl
dec cl
dec al
mov byte [ebp - 0x16], dl
mov byte [ebp - 0x15], cl
mov byte [ebp - 0x14], al
jmp case.default.0x4835b0
push 0xc
lea ecx, [ebp - 0x18]
push ebx
push ecx
call fcn.0048eb40
mov al, 0x5d
add esp, 0xc
mov byte [ebp - 0x18], al
mov byte [ebp - 0x17], al
mov byte [ebp - 0x16], 0x2f
mov byte [ebp - 0x15], al
mov byte [ebp - 0x14], 0x55
mov byte [ebp - 0x13], 0x58
mov byte [ebp - 0x12], 0x59
mov byte [ebp - 0x11], bl
rol ecx, 9
rol ecx, 0x17
js 0x48367b
mov edx, edx
jns 0x48367b
add eax, 0x8ae8458a
push ebp
in eax, dx
mov al, byte [ebp - 0x18]
mov dl, byte [ebp - 0x13]
mov cl, byte [ebp - 0x17]
dec al
mov byte [ebp - 0x18], al
mov al, byte [ebp - 0x12]
dec dl
dec cl
mov byte [ebp - 0x13], dl
mov dl, byte [ebp - 0x16]
dec al
mov byte [ebp - 0x17], cl
mov cl, byte [ebp - 0x15]
mov byte [ebp - 0x12], al
mov al, byte [ebp - 0x14]
dec dl
dec cl
dec al
mov byte [ebp - 0x16], dl
mov byte [ebp - 0x15], cl
mov byte [ebp - 0x14], al
jmp case.default.0x4835b0
push 0xc
lea edx, [ebp - 0x18]
push ebx
push edx
call fcn.0048eb40
mov al, 0x5d
add esp, 0xc
mov byte [ebp - 0x18], al
mov byte [ebp - 0x17], al
mov byte [ebp - 0x15], al
mov al, 0x31
mov byte [ebp - 0x16], 0x2f
mov byte [ebp - 0x14], 0x55
mov byte [ebp - 0x13], 0x53
mov byte [ebp - 0x12], 0x58
mov byte [ebp - 0x11], 0x33
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], al
mov byte [ebp - 0xe], al
mov byte [ebp - 0xd], bl
xor edx, 0
inc eax
dec eax
jbe 0x4836fb
jne 0x48370e
lea edi, [edi + 0x4c60]
lea edi, [edi - 0x4c60]
lea edx, [edx]
je 0x48370e
mov ebx, 0xc6a52eb
jmp 0x483762
push 0xc
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.0048eb40
mov al, 0x5d
mov cl, 0x33
mov byte [ebp - 0x18], al
mov byte [ebp - 0x17], al
mov byte [ebp - 0x15], al
mov al, 0x31
add esp, 0xc
mov byte [ebp - 0x16], 0x2f
mov byte [ebp - 0x14], 0x55
mov byte [ebp - 0x13], 0x58
mov byte [ebp - 0x12], 0x59
mov byte [ebp - 0x11], cl
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], al
mov byte [ebp - 0xe], cl
mov byte [ebp - 0xd], bl
call fcn.00483752
lea esp, [esp + 4]
jno 0x483762
lea esp, [esp]
je 0x48375d
jo 0x483762
mov eax, 0x4d8aa2cd
call 0x8b357cf3
push ebp
dec cl
mov cl, byte [ebp - 0x18]
mov al, byte [ebp - 0x13]
mov dl, byte [ebp - 0xe]
dec cl
dec al
mov byte [ebp - 0x18], cl
mov cl, byte [ebp - 0x17]
mov byte [ebp - 0x13], al
mov al, byte [ebp - 0x12]
dec dl
dec cl
mov byte [ebp - 0xe], dl
mov dl, byte [ebp - 0x16]
dec al
mov byte [ebp - 0x17], cl
mov cl, byte [ebp - 0x11]
mov byte [ebp - 0x12], al
mov al, byte [ebp - 0x15]
dec dl
dec cl
mov byte [ebp - 0x16], dl
mov dl, byte [ebp - 0x10]
dec al
mov byte [ebp - 0x11], cl
mov cl, byte [ebp - 0x14]
mov byte [ebp - 0x15], al
mov al, byte [ebp - 0xf]
dec dl
dec cl
dec al
mov byte [ebp - 0x10], dl
mov byte [ebp - 0x14], cl
mov byte [ebp - 0xf], al
lea esi, [esi + 0x6fe5]
sub esi, 0x6fe5
jp 0x4837d4
pushf
or esp, 0
popf
je 0x4837d1
jnp 0x4837d4
mov esp, 0x6a206a53
add edx, dword [ebx + 0x6a]
add dword [ebp + 0x68e84d], ecx
add byte [eax], al
adc byte [ecx - 0x18], 0xd6
sbb bh, bh
dec dword [ecx - 0x3ff407bb]
push ebx
push 0x20
push 3
push ebx
push 1
lea ecx, [ebp - 0x18]
push 0x80000000
push ecx
call fcn.004752c0
mov dword [ebp - 8], eax
or eax, eax
lea ebx, [ebx + 0x7720]
lea ebx, [ebx - 0x7720]
jae 0x483829
pushf
lea edx, [edx + 0x675e]
lea edx, [edx - 0x675e]
shl esp, 0
jge 0x483810
ror esi, 0x17
rol esi, 0x17
popf
jl 0x48381a
lea edi, [edi + 0x422e]
lea edi, [edi - 0x422e]
jb 0x483829
lcall 0x6ae8, 0x558d0c6a
add byte [edx - 0x18], dl
or dh, byte [ebx - 0x3b7d0000]
or al, 0x7f
add byte [ebx], bh
inc esp
and al, 0xc
push 0xc
lea edx, [ebp - 0x18]
push 0
push edx
call fcn.0048eb40
add esp, 0xc
jg 0x48383b
cmp eax, dword [esp + 0xc]
xor edi, dword [esp + 0xc]
xor edi, dword [esp + 0xc]
or esi, esi
jle 0x483854
jno 0x48384d
xchg esi, esi
mov esi, esi
jg 0x483854
add eax, 0x83f8458b
clc
push dword [ebp + 0x15]
mov eax, dword [ebp - 8]
cmp eax, 0xffffffff
jne 0x483871
mov eax, dword [ebp - 4]
inc eax
cmp eax, 4
mov dword [ebp - 4], eax
jl 0x483588
mov ebx, dword [ebp - 0xc]
jmp 0x4838b6
js 0x483873
inc edi
dec edi
sub esp, 0
cmc
jno 0x48388f
lea edi, [edi]
lea ecx, [ecx + 0x4ab5]
lea ecx, [ecx - 0x4ab5]
jns 0x48388b
jo 0x48388f
xor eax, 0x1be8505f
mov byte [eax], 0
push eax
call fcn.0048feb0
xor edi, 0x4f1e
xor edi, 0x4f1e
je 0x4838b1
pushf
stc
popf
jl 0x4838aa
xchg esp, esp
mov ecx, ecx
jne 0x4838b1
mov ebp, 0x12bb
add byte [eax + 0x4c], ch
out 0x46, al
add bh, bh
adc eax, sym.imp.KERNEL32.dll_OutputDebugStringA
mov ebx, 0x12
push 0x46e64c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
not edi
not edi
neg edi
neg edi
xor esi, 0
jp 0x4838d6
jne 0x4838d0
lea edx, [edx]
jnp 0x4838d6
add eax, 0xc38b5faa
pop edi
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret