Function at 0x434940
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x208
mov eax, dword [0x4b1240]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x4b2c4f], 0
je 0x435070
mov eax, dword [ebp + 8]
cmp eax, 0x26
jne 0x4349ca
cmp dword [0x4b5648], 0
jne 0x435070
cmp dword [0x4b564c], 0
jne 0x435070
mov eax, dword [0x4b2cb0]
dec eax
mov dword [0x4b2cb0], eax
jns 0x434996
xor eax, eax
mov dword [0x4b2cb0], eax
mov ecx, dword [eax*8 + 0x4b0d94]
mov edx, dword [0x4c5674]
mov dword [edx + 0xc0], ecx
mov eax, dword [eax*8 + 0x4b0d98]
mov ecx, dword [0x4c5674]
mov dword [ecx + 0xc4], eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00463931
mov esp, ebp
pop ebp
ret
cmp eax, 0x28
jne 0x434a36
cmp dword [0x4b5648], 0
jne 0x435070
cmp dword [0x4b564c], 0
jne 0x435070
mov eax, dword [0x4b2cb0]
inc eax
mov dword [0x4b2cb0], eax
cmp eax, 4
jle 0x434a03
mov eax, 4
mov dword [0x4b2cb0], eax
mov edx, dword [eax*8 + 0x4b0d94]
mov ecx, dword [0x4c5674]
mov dword [ecx + 0xc0], edx
mov edx, dword [eax*8 + 0x4b0d98]
mov eax, dword [0x4c5674]
mov dword [eax + 0xc4], edx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00463931
mov esp, ebp
pop ebp
ret
cmp eax, 0xd
jne 0x435070
cmp dword [0x4b5648], 0
push esi
push edi
lea esi, [eax - 0xc]
jne 0x434a75
cmp dword [0x4b564c], 0
jne 0x434a75
mov eax, dword [0x4b2cb0]
mov dword [0x4b5648], eax
cmp eax, 3
jge 0x434a6b
mov dword [0x4b564c], esi
call fcn.0040c4d0
call fcn.00430130
mov ecx, dword [0x4b61e0]
cmp byte [ecx + 0xf4], 0
mov edi, dword [sym.imp.WINMM.dll_timeGetTime]
je 0x434f18
cmp dword [0x4a8e6c], 5
jne 0x434f0d
mov eax, dword [0x4b5a98]
cmp byte [eax + 0xf4], 0
sete dl
mov byte [eax + 0xf4], dl
mov eax, dword [0x4c54e4]
cmp byte [eax + 0xf4], 0
sete cl
mov byte [eax + 0xf4], cl
mov eax, dword [0x4c586c]
cmp byte [eax + 0xf4], 0
sete dl
mov byte [eax + 0xf4], dl
mov eax, dword [0x4b5a98]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4b5ae8]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c54e4]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4c51fc]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c586c]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4c5678]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4b5a98]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4b5aec]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c54e4]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4c5200]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c586c]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4c567c]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4b5a98]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4b5af0]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c54e4]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4c5204]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c586c]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4c5680]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4b5a98]
cmp byte [eax + 0xf4], 0
je 0x434bcf
mov ecx, dword [0x4b2bec]
push ecx
call fcn.0040ed80
add esp, 4
mov edx, dword [0x4c54e4]
cmp byte [edx + 0xf4], 0
je 0x434bec
mov eax, dword [0x4b29ec]
push eax
call fcn.0040eed0
add esp, 4
mov ecx, dword [0x4c586c]
cmp byte [ecx + 0xf4], 0
je 0x434c0a
mov edx, dword [0x4b2c08]
push edx
call fcn.0040f010
add esp, 4
mov eax, dword [0x4c529c]
cmp byte [eax + 0xf4], 0
sete cl
mov byte [eax + 0xf4], cl
mov eax, dword [0x4c5608]
cmp byte [eax + 0xf4], 0
sete dl
mov byte [eax + 0xf4], dl
mov eax, dword [0x4b5cf4]
cmp byte [eax + 0xf4], 0
sete cl
mov byte [eax + 0xf4], cl
mov eax, dword [0x4c54ec]
cmp byte [eax + 0xf4], 0
sete dl
mov byte [eax + 0xf4], dl
mov eax, dword [0x4c5428]
cmp byte [eax + 0xf4], 0
sete cl
mov byte [eax + 0xf4], cl
mov eax, dword [0x4c533c]
cmp byte [eax + 0xf4], 0
sete dl
mov byte [eax + 0xf4], dl
mov eax, dword [0x4c529c]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4b61ec]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c5608]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4c5448]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4b5cf4]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4b5a9c]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c54ec]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4c5564]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c5428]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4c56e8]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c533c]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4b5b14]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c529c]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4b61f0]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c5608]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4c544c]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4b5cf4]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4b5aa0]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c54ec]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4c5568]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c5428]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4c56ec]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c533c]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4b5b18]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c529c]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4b61f4]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c5608]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4c5450]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4b5cf4]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4b5aa4]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c54ec]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4c556c]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c5428]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4c56f0]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c533c]
movzx ecx, byte [eax + 0xf4]
mov edx, dword [0x4b5b1c]
mov byte [edx + 0xf4], cl
mov eax, dword [0x4c529c]
cmp byte [eax + 0xf4], 0
je 0x434e64
mov eax, 0x68db8bad
imul dword [0x4b2c0c]
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
call fcn.0040f160
add esp, 4
mov edx, dword [0x4c5608]
cmp byte [edx + 0xf4], 0
je 0x434e91
mov eax, 0x68db8bad
imul dword [0x4b2c10]
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
call fcn.0040f2c0
add esp, 4
mov ecx, dword [0x4b5cf4]
cmp byte [ecx + 0xf4], 0
je 0x434eaf
mov edx, dword [0x4b2980]
push edx
call fcn.0040f6e0
add esp, 4
mov eax, dword [0x4c54ec]
cmp byte [eax + 0xf4], 0
je 0x434ecd
movzx ecx, byte [0x4b2c15]
push ecx
call fcn.0040f820
add esp, 4
mov edx, dword [0x4c5428]
cmp byte [edx + 0xf4], 0
je 0x434eea
mov eax, dword [0x4b2984]
push eax
call fcn.0040f420
add esp, 4
mov ecx, dword [0x4c5608]
cmp byte [ecx + 0xf4], 0
je 0x434f0d
mov edx, 0xa
sub edx, dword [0x4b2984]
push edx
call fcn.0040f580
add esp, 4
mov dword [0x4a8e6c], esi
jmp 0x435067
mov ecx, dword [0x4c52e4]
mov al, byte [ecx + 0xf4]
test al, al
je 0x435067
cmp dword [ecx + 0xa4], 0
jne 0x434fca
call edi
sub eax, dword [0x4b59b4]
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
jns 0x434f55
fadd dword [0x481fd0]
fmul qword [0x49b210]
fcomp qword [0x481fe0]
fnstsw ax
test ah, 5
jp 0x434f70
add dword [0x4a95a4], esi
jmp 0x434f76
mov dword [0x4a95a4], esi
mov eax, dword [0x4a95a4]
push eax
lea ecx, [ebp - 0x204]
push str.g_nReturnCounter:__d_n
push ecx
call fcn.00409550
add esp, 0xc
lea edx, [ebp - 0x204]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [0x4a95a4], 5
jne 0x435067
mov eax, dword [0x4c57b8]
mov dword [0x4a95a4], esi
cmp byte [eax + 0xf4], 0
sete cl
mov byte [eax + 0xf4], cl
jmp 0x435067
test al, al
je 0x435067
cmp dword [ecx + 0xa4], esi
jne 0x435067
call edi
sub eax, dword [0x4b59b4]
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
jns 0x434ffa
fadd dword [0x481fd0]
fmul qword [0x49b210]
fcomp qword [0x481fe0]
fnstsw ax
test ah, 5
jp 0x435015
add dword [0x4a95a4], esi
jmp 0x43501b
mov dword [0x4a95a4], esi
mov edx, dword [0x4a95a4]
push edx
lea eax, [ebp - 0x204]
push str.g_nReturnCounter:__d_n
push eax
call fcn.00409550
add esp, 0xc
lea ecx, [ebp - 0x204]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [0x4a95a4], 5
jne 0x435067
mov eax, dword [0x4c57b8]
mov dword [0x4a95a4], esi
cmp byte [eax + 0xf4], 0
sete dl
mov byte [eax + 0xf4], dl
call edi
pop edi
mov dword [0x4b59b4], eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00463931
mov esp, ebp
pop ebp
ret