Function at 0x4211b0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe10
mov eax, dword [0x4ab000]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
push esi
push edi
cmp byte [0x4af495], bl
je 0x421a08
cmp byte [0x4af4a0], bl
jne 0x4211ec
cmp byte [0x4af4a1], bl
jne 0x4211ec
cmp byte [0x4af4a2], bl
je 0x4211f1
call fcn.0040aba0
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov esi, 0xf
cmp byte [0x4af489], bl
je 0x4212b5
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x40
jl 0x4212b5
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
mov byte [0x4af489], bl
push 8
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.Witch_In
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401eb0
cmp byte [0x4af490], bl
jne 0x421298
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push str.WitchIdle
mov byte [0x4af490], 1
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
lea eax, [ebp - 0x804]
push str.Witch_In_end_n
push eax
call fcn.00409dc0
add esp, 8
lea ecx, [ebp - 0x804]
push ecx
call edi
cmp byte [0x4af490], bl
je 0x421408
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x3b
jl 0x421408
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
mov byte [0x4af490], bl
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchIdle
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401eb0
call fcn.0045dc7c
mov dword [ebp - 0xe10], eax
fild dword [ebp - 0xe10]
fnstcw word [ebp - 0xe0e]
movzx eax, word [ebp - 0xe0e]
fmul qword [0x47b628]
or eax, 0xc00
mov dword [ebp - 0xe08], eax
fmul qword [0x492588]
fldcw word [ebp - 0xe08]
fistp qword [ebp - 0xe0c]
cmp dword [ebp - 0xe0c], 0x32
fldcw word [ebp - 0xe0e]
jge 0x4213b4
cmp byte [0x4af48b], bl
jne 0x4213eb
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push str.WitchBigHit
mov byte [0x4af48b], 1
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
push ebx
push 1
push 0x3c
call fcn.00409d80
add esp, 0xc
jmp 0x4213e5
cmp byte [0x4af48e], bl
jne 0x4213eb
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push str.WitchHit
mov byte [0x4af48e], 1
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
mov byte [0x4af4b7], bl
lea edx, [ebp - 0x404]
push str.WitchIdle_end_n
push edx
call fcn.00409dc0
add esp, 8
lea eax, [ebp - 0x404]
push eax
call edi
cmp byte [0x4af48e], bl
je 0x42156b
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x49
jle 0x421458
cmp byte [0x4ac5ca], bl
jne 0x421458
push ebx
push 1
push 0x3d
call fcn.00409d80
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0xb6
jle 0x4214a3
call fcn.004210d0
cmp byte [0x4ac5cc], bl
jne 0x4214a3
push ebx
push 1
push 0x3e
call fcn.00409d80
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x103
jl 0x42156b
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
mov byte [0x4af48e], bl
push 8
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchHit
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401eb0
push ebx
push ebx
push 0x3d
call fcn.00409d80
push ebx
push ebx
push 0x3e
call fcn.00409d80
add esp, 0x18
cmp byte [0x4af491], bl
jne 0x42154e
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push str.WitchOut
mov byte [0x4af491], 1
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
lea ecx, [ebp - 0x204]
push str.WitchHit_end_n
push ecx
call fcn.00409dc0
add esp, 8
lea edx, [ebp - 0x204]
push edx
call edi
cmp byte [0x4af48f], bl
je 0x421629
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x7d
jle 0x4215ab
call fcn.0040aa20
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x98
jl 0x421629
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
mov byte [0x4af48f], bl
push 0xb
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchHitEff
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401eb0
lea eax, [ebp - 0xa04]
push str.WitchHitEff_end_n
push eax
call fcn.00409dc0
add esp, 8
lea ecx, [ebp - 0xa04]
push ecx
call edi
cmp byte [0x4af48b], bl
je 0x42171a
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0xeb
jle 0x42166b
call fcn.00421140
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x1c7
jl 0x42171a
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
mov byte [0x4af48b], bl
push 0xb
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchBigHit
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401eb0
cmp byte [0x4af490], bl
jne 0x4216fd
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
push str.WitchIdle
mov byte [0x4af490], 1
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
lea edx, [ebp - 0xe04]
push str.WitchBigHit_end_n
push edx
call fcn.00409dc0
add esp, 8
lea eax, [ebp - 0xe04]
push eax
call edi
cmp byte [0x4af48c], bl
je 0x42197b
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0xc
jle 0x421798
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, esi
jge 0x421798
cmp byte [0x4ac5ce], bl
jne 0x421798
push ebx
push 1
push 0x3f
call fcn.00409d80
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x2d
jle 0x42180b
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x30
jge 0x42180b
cmp byte [0x4ac5ce], bl
jne 0x42180b
push ebx
push 1
push 0x3f
call fcn.00409d80
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x4c
jle 0x42187e
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x4f
jge 0x42187e
cmp byte [0x4ac5ce], bl
jne 0x42187e
push ebx
push 1
push 0x3f
call fcn.00409d80
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x6c
jle 0x4218f6
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x6f
jge 0x4218f6
call fcn.0040aa20
cmp byte [0x4ac5ce], bl
jne 0x4218f6
push ebx
push 1
push 0x3f
call fcn.00409d80
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x7a
jl 0x42197b
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
mov byte [0x4af48c], bl
push 0xe
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchBigHitEff
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401eb0
push ebx
push ebx
push 0x3f
call fcn.00409d80
lea ecx, [ebp - 0xc04]
push str.WitchBigHitEff_end_n
push ecx
call fcn.00409dc0
add esp, 0x14
lea edx, [ebp - 0xc04]
push edx
call edi
cmp byte [0x4af491], bl
je 0x421a08
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.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x4f
jl 0x421a08
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xe08], esp
mov byte [0x4af491], bl
push 8
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.WitchOut
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401eb0
call fcn.00420f10
lea eax, [ebp - 0x604]
push str.WitchOut_end_n
push eax
call fcn.00409dc0
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.0045d691
mov esp, ebp
pop ebp
ret