Function at 0x417840
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x410
mov eax, dword [0x4b1240]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
push str._SetWinEventFinalHand_:__d_n
lea eax, [ebp - 0x204]
push 0x100
push eax
call fcn.004646a5
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
add esp, 0x10
lea ecx, [ebp - 0x204]
push ecx
call edi
lea edx, [ebp - 0x204]
push edx
mov esi, 1
push esi
call fcn.00408da0
add esp, 8
cmp ebx, 0x2f
ja case.0x4178a7.1
movzx eax, byte [ebx + 0x417dec]
jmp dword [eax*4 + 0x417dd4]
xor ebx, ebx
mov dword [0x4a856c], ebx
mov byte [0x4b55c6], bl
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00463931
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4b54f0]
xor ebx, ebx
cmp eax, ebx
jne 0x4178de
push ebx
push ebx
push 5
jmp 0x4178e6
cmp eax, esi
jne 0x4178ee
push ebx
push ebx
push 6
call fcn.00409510
add esp, 0xc
mov byte [0x4b55c5], 1
mov byte [0x4b55c6], 1
cmp byte [0x4b553f], bl
jne 0x41792c
push esi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x40c], esp
push str.bird_in
mov byte [0x4b553f], 1
call fcn.004154c0
mov ecx, dword [0x4b290c]
call fcn.004018e0
push esi
push esi
push 0x1c
call fcn.00409510
push str.bird_in__n
lea ecx, [ebp - 0x404]
push 0x100
push ecx
call fcn.004646a5
add esp, 0x18
lea edx, [ebp - 0x404]
push edx
call edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00463931
mov esp, ebp
pop ebp
ret
xor ebx, ebx
cmp dword [0x4b559c], ebx
jg 0x417990
mov byte [0x4b55c5], 1
mov byte [0x4b55c6], bl
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00463931
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4b54f0]
cmp eax, ebx
jne 0x41799f
push ebx
push ebx
push 5
jmp 0x4179a7
cmp eax, esi
jne 0x4179af
push ebx
push ebx
push 6
call fcn.00409510
add esp, 0xc
push ebx
push esi
push 0x34
mov byte [0x4b55c5], 1
mov byte [0x4b55c6], 1
mov dword [0x4b555c], ebx
mov dword [0x4b5598], ebx
mov dword [0x4a855c], esi
mov byte [0x4a8376], 1
mov byte [0x4b5589], bl
mov byte [0x4b55c7], 1
mov dword [0x4a8630], 0xa
call fcn.00409510
mov eax, dword [0x4b5978]
mov esi, dword [sym.imp.USER32.dll_KillTimer]
add esp, 0xc
push 0x46a
push eax
call esi
mov ecx, dword [0x4b5978]
mov edi, dword [sym.imp.USER32.dll_SetTimer]
push ebx
push 0x1e
push 0x46a
push ecx
call edi
mov edx, dword [0x4c54e8]
mov dword [0x4a8790], 0x64
mov byte [edx + 0xf4], bl
fild dword [0x4a7058]
mov eax, dword [0x4c54e8]
push 0x49c
fmul qword [0x4985f8]
fadd st(0), st(0)
fstp dword [eax + 0xe4]
mov ecx, dword [0x4c51d0]
mov byte [ecx + 0xf4], bl
mov edx, dword [0x4b5978]
push edx
call esi
mov eax, dword [0x4b5978]
push ebx
push 0x1e
push 0x49c
push eax
call edi
mov ecx, dword [ebp + 8]
push ecx
push str._SetWinEventFinalHand_:_CLAM__d__n
lea edx, [ebp - 0x204]
push 0x100
push edx
mov byte [0x4b5541], bl
call fcn.004646a5
add esp, 0x10
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00463931
mov esp, ebp
pop ebp
ret
xor ebx, ebx
cmp dword [0x4b559c], ebx
jle case.0x4178a7.1
mov eax, dword [0x4b54f0]
cmp eax, ebx
jne 0x417ada
push ebx
push ebx
push 5
jmp 0x417ae2
cmp eax, esi
jne 0x417aea
push ebx
push ebx
push 6
call fcn.00409510
add esp, 0xc
xor eax, eax
mov ecx, dword [0x4b5978]
push 0x4b7
push ecx
mov byte [0x4b55c5], 1
mov byte [0x4b55c6], 1
mov byte [0x4a86b7], 1
mov byte [0x4b5898], bl
mov dword [0x4b589c], ebx
mov dword [0x4a8808], 0x28
mov byte [0x4b558a], bl
mov dword [0x4b57f0], ebx
mov dword [0x4b57f4], ebx
mov dword [0x4b57f8], eax
mov dword [0x4b57fc], eax
mov dword [0x4b5800], eax
mov dword [0x4b5804], eax
mov dword [0x4b5808], eax
mov dword [0x4b580c], eax
mov dword [0x4b5810], eax
mov dword [0x4b5814], eax
mov dword [0x4b5818], eax
mov dword [0x4b581c], eax
mov dword [0x4b5820], eax
mov dword [0x4b5824], eax
mov dword [0x4b5828], eax
mov dword [0x4b582c], eax
mov dword [0x4b5830], eax
mov dword [0x4b5834], eax
mov dword [0x4b5838], eax
mov dword [0x4b583c], eax
mov dword [0x4b5840], eax
mov dword [0x4b5844], eax
mov dword [0x4b5848], eax
mov dword [0x4b584c], eax
mov dword [0x4b5850], eax
mov dword [0x4b5854], eax
mov dword [0x4b5858], eax
mov dword [0x4b585c], eax
mov dword [0x4b5860], eax
mov dword [0x4b5864], eax
mov dword [0x4b5868], eax
mov dword [0x4b586c], eax
mov dword [0x4b5870], eax
mov dword [0x4b5874], eax
mov dword [0x4b5878], eax
mov dword [0x4b587c], eax
mov dword [0x4b5880], eax
mov dword [0x4b5884], eax
mov dword [0x4b5888], eax
mov dword [0x4b588c], eax
mov dword [0x4b5890], eax
mov dword [0x4b5894], eax
mov dword [0x4b57e0], ebx
call dword [sym.imp.USER32.dll_KillTimer]
mov edx, dword [0x4b5978]
push ebx
push 0x1e
push 0x4b7
push edx
call dword [sym.imp.USER32.dll_SetTimer]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00463931
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4b54f0]
xor ebx, ebx
cmp eax, ebx
jne 0x417c40
push ebx
push ebx
push 5
jmp 0x417c48
cmp eax, esi
jne 0x417c50
push ebx
push ebx
push 6
call fcn.00409510
add esp, 0xc
mov byte [0x4b55c5], 1
mov byte [0x4b55c6], 1
mov byte [0x4b5525], bl
mov dword [0x4b5568], ebx
mov byte [0x4b5526], bl
mov dword [0x4b5590], ebx
mov byte [0x4b5573], bl
mov dword [0x4a8544], esi
mov byte [0x4b557d], bl
mov byte [0x4b557e], bl
mov byte [0x4b2cd6], bl
mov dword [0x4b5594], ebx
mov dword [0x4a854c], esi
mov dword [0x4a8550], esi
mov dword [0x4a8554], esi
mov dword [0x4a8570], ebx
mov byte [0x4b5564], bl
mov byte [0x4b5557], bl
mov byte [0x4b558b], bl
call fcn.00463f1c
mov dword [ebp - 0x408], eax
fild dword [ebp - 0x408]
push ebx
fnstcw word [ebp - 0x406]
push esi
movzx eax, word [ebp - 0x406]
fmul qword [0x497a98]
or eax, 0xc00
mov dword [ebp - 0x40c], eax
push 0x34
fmul qword [0x497ab8]
mov byte [0x4b5524], bl
fldcw word [ebp - 0x40c]
mov byte [0x4b55c7], 1
mov dword [0x4a8630], 0xa
fistp qword [ebp - 0x410]
mov eax, dword [ebp - 0x410]
add eax, 2
mov dword [0x4a8560], eax
fldcw word [ebp - 0x406]
call fcn.00409510
mov ecx, dword [0x4b5978]
mov esi, dword [sym.imp.USER32.dll_KillTimer]
add esp, 0xc
push 0x46a
push ecx
call esi
mov edx, dword [0x4b5978]
mov edi, dword [sym.imp.USER32.dll_SetTimer]
push ebx
push 0x1e
push 0x46a
push edx
call edi
mov eax, dword [0x4c54e8]
mov dword [0x4a8790], 0x64
mov byte [eax + 0xf4], bl
fild dword [0x4a7058]
mov ecx, dword [0x4c54e8]
push 0x49c
fmul qword [0x4985f8]
fadd st(0), st(0)
fstp dword [ecx + 0xe4]
mov edx, dword [0x4c51d0]
mov byte [edx + 0xf4], bl
mov eax, dword [0x4b5978]
push eax
call esi
mov ecx, dword [0x4b5978]
push ebx
push 0x1e
push 0x49c
push ecx
call edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00463931
mov esp, ebp
pop ebp
ret