Function at 0x407ae0
Capabilities:
Print debug messages

Disassembly:
mov eax, dword [esp + 4]
push ebx
push esi
xor esi, esi
mov ecx, dword [eax]
mov dl, byte [ecx]
inc ecx
test dl, 0x80
mov byte [esp + 0xc], dl
mov dword [eax], ecx
je 0x407b04
and dl, 0x7f
mov esi, 1
mov byte [esp + 0xc], dl
mov ecx, dword [esp + 0xc]
and ecx, 0xff
add ecx, 0xfffffffb
cmp ecx, 0xa
ja case.default.0x407b1a
jmp dword [ecx*4 + 0x407d44]
push eax
call fcn.00407ac0
mov edx, dword [esp + 0x14]
add esp, 4
and eax, 0xffff
pop esi
pop ebx
mov dword [eax*4 + 0x469d58], edx
ret
push eax
call fcn.00407ac0
and eax, 0xffff
add esp, 4
test esi, esi
mov eax, dword [eax*4 + 0x469d58]
jmp 0x407d0c
push eax
call fcn.00407ac0
mov dx, ax
mov eax, dword [0x5af074]
and edx, 0xffff
add esp, 4
mov ebx, dword [eax*4 + 0x5695f8]
add edx, ebx
pop esi
shl eax, 8
add edx, eax
mov eax, dword [esp + 0xc]
pop ebx
mov dword [edx*4 + 0x569df8], eax
ret
push eax
call fcn.00407ac0
mov ecx, dword [0x5af074]
add esp, 4
and eax, 0xffff
mov edx, ecx
test esi, esi
je 0x407bcd
mov ecx, dword [ecx*4 + 0x5695f8]
shl edx, 8
add ecx, edx
add ecx, eax
mov edx, dword [ecx*4 + 0x569df8]
push edx
call fcn.00407aa0
mov edx, dword [esp + 0x14]
add esp, 4
mov dword [eax], edx
pop esi
pop ebx
ret
mov ecx, dword [ecx*4 + 0x5695f8]
pop esi
shl edx, 8
add ecx, edx
mov edx, dword [esp + 0xc]
add ecx, eax
pop ebx
mov eax, dword [ecx*4 + 0x569df8]
mov dword [eax], edx
ret
push eax
call fcn.00407ac0
mov cx, ax
mov eax, dword [0x5af074]
add esp, 4
and ecx, 0xffff
lea eax, [eax + eax*4]
pop esi
pop ebx
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
mov ecx, dword [esp + 8]
mov dword [eax*4 + 0x46acf8], ecx
ret
push eax
call fcn.00407ac0
mov ecx, dword [0x5af074]
and eax, 0xffff
add esp, 4
lea ecx, [ecx + ecx*4]
test esi, esi
lea ecx, [ecx + ecx*4]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
je 0x407c59
mov ecx, dword [eax*4 + 0x46acf8]
push ecx
call fcn.00407aa0
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [eax], ecx
pop esi
pop ebx
ret
mov eax, dword [eax*4 + 0x46acf8]
mov ecx, dword [esp + 0x10]
pop esi
pop ebx
mov dword [eax], ecx
ret
push eax
call fcn.00407ac0
mov edx, dword [esp + 0x14]
add esp, 4
and eax, 0xffff
pop esi
pop ebx
mov dword [eax*4 + 0x564cf8], edx
ret
push eax
call fcn.00407ac0
and eax, 0xffff
add esp, 4
test esi, esi
mov eax, dword [eax*4 + 0x564cf8]
jmp 0x407d0c
mov bl, byte [esp + 0x10]
push eax
and bl, 1
call fcn.00407ac0
add esp, 4
and eax, 0xffff
mov byte [eax + 0x457550], bl
pop esi
pop ebx
ret
push eax
call fcn.00407ac0
add esp, 4
and eax, 0xffff
test esi, esi
je 0x407ceb
xor edx, edx
mov dl, byte [eax + 0x457550]
push edx
call fcn.00407aa0
mov dl, byte [esp + 0x14]
add esp, 4
and dl, 1
pop esi
mov byte [eax], dl
pop ebx
ret
mov dl, byte [esp + 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x457550]
and dl, 1
mov eax, ecx
pop esi
pop ebx
mov byte [eax], dl
ret
push eax
call fcn.00407ad0
add esp, 4
test esi, esi
je 0x407d17
push eax
call fcn.00407aa0
add esp, 4
mov ecx, dword [esp + 0x10]
pop esi
mov dword [eax], ecx
pop ebx
ret
push str.Script_Error._SetVar_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, dword [0x5ae3f8]
push 0x30
push 0
push str.Script_Error._SetVar_
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop esi
pop ebx
ret