Function at 0x41fa00
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe10
mov eax, dword [0x4a4cf0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
push esi
push edi
cmp byte [0x4a91b4], bl
je 0x420239
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea esi, [ebx + 0xf]
cmp byte [0x4a91a8], bl
je 0x41fae6
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 8
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.Witch_In
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0x40
jl 0x41fae6
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
mov byte [0x4a91a8], bl
push 8
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.Witch_In
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.004019c0
cmp byte [0x4a91af], bl
jne 0x41fac9
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push str.WitchIdle
mov byte [0x4a91af], 1
call fcn.00414af0
mov ecx, dword [0x4a63f8]
call fcn.004018e0
lea eax, [ebp - 0x804]
push str.Witch_In_end_n
push eax
call fcn.00409630
add esp, 8
lea ecx, [ebp - 0x804]
push ecx
call edi
cmp byte [0x4a91af], bl
je 0x41fc39
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchIdle
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0x3b
jl 0x41fc39
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
mov byte [0x4a91af], bl
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchIdle
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.004019c0
call fcn.0045c5cc
mov dword [ebp - 0xe10], eax
fild dword [ebp - 0xe10]
fnstcw word [ebp - 0xe0e]
movzx eax, word [ebp - 0xe0e]
fmul qword [0x47a5f8]
or eax, 0xc00
mov dword [ebp - 0xe08], eax
fmul qword [0x48bd20]
fldcw word [ebp - 0xe08]
fistp qword [ebp - 0xe0c]
cmp dword [ebp - 0xe0c], 0xa
fldcw word [ebp - 0xe0e]
jge 0x41fbe5
cmp byte [0x4a91aa], bl
jne 0x41fc1c
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push str.WitchBigHit
mov byte [0x4a91aa], 1
call fcn.00414af0
mov ecx, dword [0x4a63f8]
call fcn.004018e0
push ebx
push 1
push 0x3f
call fcn.004095f0
add esp, 0xc
jmp 0x41fc16
cmp byte [0x4a91ad], bl
jne 0x41fc1c
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push str.WitchHit
mov byte [0x4a91ad], 1
call fcn.00414af0
mov ecx, dword [0x4a63f8]
call fcn.004018e0
mov byte [0x4a91d9], bl
lea edx, [ebp - 0x404]
push str.WitchIdle_end_n
push edx
call fcn.00409630
add esp, 8
lea eax, [ebp - 0x404]
push eax
call edi
cmp byte [0x4a91ad], bl
je 0x41fd9c
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 8
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchHit
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0x49
jle 0x41fc89
cmp byte [0x4a62e8], bl
jne 0x41fc89
push ebx
push 1
push 0x40
call fcn.004095f0
add esp, 0xc
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 8
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchHit
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0xb6
jle 0x41fcd4
call fcn.0041f840
cmp byte [0x4a62ea], bl
jne 0x41fcd4
push ebx
push 1
push 0x41
call fcn.004095f0
add esp, 0xc
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 8
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchHit
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0x103
jl 0x41fd9c
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
mov byte [0x4a91ad], bl
push 8
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchHit
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.004019c0
push ebx
push ebx
push 0x40
call fcn.004095f0
push ebx
push ebx
push 0x41
call fcn.004095f0
add esp, 0x18
cmp byte [0x4a91b0], bl
jne 0x41fd7f
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push str.WitchOut
mov byte [0x4a91b0], 1
call fcn.00414af0
mov ecx, dword [0x4a63f8]
call fcn.004018e0
lea ecx, [ebp - 0x204]
push str.WitchHit_end_n
push ecx
call fcn.00409630
add esp, 8
lea edx, [ebp - 0x204]
push edx
call edi
cmp byte [0x4a91ae], bl
je 0x41fe5a
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 0xb
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchHitEff
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0x7d
jle 0x41fddc
call fcn.0040a290
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 0xb
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchHitEff
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0x98
jl 0x41fe5a
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
mov byte [0x4a91ae], bl
push 0xb
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchHitEff
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.004019c0
lea eax, [ebp - 0xa04]
push str.WitchHitEff_end_n
push eax
call fcn.00409630
add esp, 8
lea ecx, [ebp - 0xa04]
push ecx
call edi
cmp byte [0x4a91aa], bl
je 0x41ff4b
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 0xb
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchBigHit
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0xeb
jle 0x41fe9c
call fcn.0041f920
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 0xb
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchBigHit
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0x1c7
jl 0x41ff4b
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
mov byte [0x4a91aa], bl
push 0xb
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchBigHit
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.004019c0
cmp byte [0x4a91af], bl
jne 0x41ff2e
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push str.WitchIdle
mov byte [0x4a91af], 1
call fcn.00414af0
mov ecx, dword [0x4a63f8]
call fcn.004018e0
lea edx, [ebp - 0xe04]
push str.WitchBigHit_end_n
push edx
call fcn.00409630
add esp, 8
lea eax, [ebp - 0xe04]
push eax
call edi
cmp byte [0x4a91ab], bl
je 0x4201ac
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 0xe
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchBigHitEff
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0xc
jle 0x41ffc9
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 0xe
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchBigHitEff
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, esi
jge 0x41ffc9
cmp byte [0x4a62ec], bl
jne 0x41ffc9
push ebx
push 1
push 0x42
call fcn.004095f0
add esp, 0xc
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 0xe
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchBigHitEff
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0x2d
jle 0x42003c
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 0xe
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchBigHitEff
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0x30
jge 0x42003c
cmp byte [0x4a62ec], bl
jne 0x42003c
push ebx
push 1
push 0x42
call fcn.004095f0
add esp, 0xc
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 0xe
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchBigHitEff
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0x4c
jle 0x4200af
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 0xe
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchBigHitEff
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0x4f
jge 0x4200af
cmp byte [0x4a62ec], bl
jne 0x4200af
push ebx
push 1
push 0x42
call fcn.004095f0
add esp, 0xc
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 0xe
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchBigHitEff
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0x6c
jle 0x420127
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 0xe
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchBigHitEff
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0x6f
jge 0x420127
call fcn.0040a290
cmp byte [0x4a62ec], bl
jne 0x420127
push ebx
push 1
push 0x42
call fcn.004095f0
add esp, 0xc
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 0xe
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchBigHitEff
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0x7a
jl 0x4201ac
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
mov byte [0x4a91ab], bl
push 0xe
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchBigHitEff
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.004019c0
push ebx
push ebx
push 0x42
call fcn.004095f0
lea ecx, [ebp - 0xc04]
push str.WitchBigHitEff_end_n
push ecx
call fcn.00409630
add esp, 0x14
lea edx, [ebp - 0xc04]
push edx
call edi
cmp byte [0x4a91b0], bl
je 0x420239
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push 8
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchOut
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.00401b90
cmp eax, 0x4f
jl 0x420239
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
mov byte [0x4a91b0], bl
push 8
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchOut
mov byte [ecx], bl
call fcn.004141d0
mov ecx, dword [0x4a63f8]
call fcn.004019c0
call fcn.0041f680
lea eax, [ebp - 0x604]
push str.WitchOut_end_n
push eax
call fcn.00409630
add esp, 8
lea ecx, [ebp - 0x604]
push ecx
call edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0045bfe1
mov esp, ebp
pop ebp
ret