Function at 0x433f30
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x208
mov eax, dword [0x4a4cf0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
cmp byte [0x4a6781], bl
jne 0x4340af
mov eax, dword [0x4b836c]
mov ecx, 1
cmp dword [eax + 0xa4], ecx
jne 0x433f83
mov dword [eax + 0xa4], ebx
mov eax, dword [0x4b81b0]
mov byte [eax + 0xf4], cl
mov ecx, dword [0x4a9a30]
mov byte [ecx + 0xf4], bl
jmp 0x433f96
mov eax, dword [0x4b8088]
cmp dword [eax + 0xa4], ecx
jne 0x433f96
mov dword [eax + 0xa4], ebx
mov eax, dword [0x4a9bdc]
cmp byte [eax + 0xf4], bl
je 0x43466e
mov edx, dword [0x4a9a2c]
cmp dword [edx + 0xa4], ebx
je 0x43466e
cmp byte [0x4a9322], bl
jne 0x43466e
mov byte [eax + 0xf4], bl
mov eax, dword [0x4a9bdc]
mov dword [eax + 0xa4], ebx
mov eax, dword [0x4a3b28]
inc eax
cdq
mov ecx, 0xa
idiv ecx
mov dword [0x4a3b28], edx
cmp edx, 9
ja case.default.0x433fef
jmp dword [edx*4 + 0x434680]
mov dword [0x4a3b24], 0x64
jmp case.default.0x433fef
mov dword [0x4a3b24], 0xc8
jmp case.default.0x433fef
mov dword [0x4a3b24], 0x12c
jmp case.default.0x433fef
mov dword [0x4a3b24], 0x190
jmp case.default.0x433fef
mov dword [0x4a3b24], 0x1f4
jmp case.default.0x433fef
mov dword [0x4a3b24], 0x258
jmp case.default.0x433fef
mov dword [0x4a3b24], 0x2bc
jmp case.default.0x433fef
mov dword [0x4a3b24], 0x320
jmp case.default.0x433fef
mov dword [0x4a3b24], 0x384
jmp case.default.0x433fef
mov dword [0x4a3b24], 0x3e8
call fcn.00409270
mov dword [0x4a929c], ebx
call fcn.0040fcb0
push ebx
call fcn.0042be90
mov edx, dword [0x4a3b24]
add esp, 4
mov dword [0x4a6424], edx
call fcn.004233d0
mov eax, dword [0x4a3b64]
mov dword [0x4a93fc], eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045bfe1
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4b8368]
push edi
mov edi, 1
cmp dword [eax + 0xa4], edi
jne 0x4340d2
mov dword [eax + 0xa4], ebx
call fcn.0040c3e0
call fcn.0042c170
mov eax, dword [0x4b8160]
cmp dword [eax + 0xa4], edi
jne 0x4340ef
mov dword [eax + 0xa4], ebx
call fcn.0040c3e0
call fcn.0042c170
mov eax, dword [0x4b8768]
cmp dword [eax + 0xa4], edi
jne 0x43410c
mov dword [eax + 0xa4], ebx
call fcn.0040c3e0
call fcn.0042c170
mov eax, dword [0x4b81ac]
cmp dword [eax + 0xa4], edi
jne 0x43415f
mov dword [eax + 0xa4], ebx
mov dword [0x4a6748], ebx
mov dword [0x4a6750], ebx
mov dword [0x4a6760], ebx
mov dword [0x4a6770], ebx
mov dword [0x4a6768], ebx
call fcn.0040c2f0
call fcn.00410420
call fcn.0040c200
call fcn.0040c110
call fcn.0040c020
push ebx
call fcn.0042be90
add esp, 4
mov eax, dword [0x4a9704]
cmp dword [eax + 0xa4], edi
jne 0x434199
mov dword [eax + 0xa4], ebx
mov ax, word [0x4a3c28]
mov ecx, 0xffff
add ax, cx
mov word [0x4a3c28], ax
cmp ax, di
jae 0x434194
mov edx, edi
mov word [0x4a3c28], dx
call fcn.0040f890
mov eax, dword [0x4a9c5c]
cmp dword [eax + 0xa4], edi
jne 0x4341cc
mov dword [eax + 0xa4], ebx
mov eax, dword [0x4a3d68]
sub eax, edi
mov dword [0x4a3d68], eax
cmp eax, edi
jge 0x4341c3
mov eax, edi
mov dword [0x4a3d68], eax
push eax
call fcn.0040eb60
add esp, 4
mov eax, dword [0x4b8740]
cmp dword [eax + 0xa4], edi
jne 0x434206
mov dword [eax + 0xa4], ebx
mov ax, word [0x4a3c28]
add ax, di
mov ecx, 0xa
mov word [0x4a3c28], ax
cmp cx, ax
jae 0x434201
mov edx, ecx
mov word [0x4a3c28], dx
call fcn.0040f890
mov eax, dword [0x4b86a8]
cmp dword [eax + 0xa4], edi
jne 0x43423d
mov dword [eax + 0xa4], ebx
mov eax, dword [0x4a3d68]
add eax, edi
mov dword [0x4a3d68], eax
cmp eax, 0x46
jle 0x434234
mov eax, 0x46
mov dword [0x4a3d68], eax
push eax
call fcn.0040eb60
add esp, 4
mov eax, dword [0x4a9be0]
push esi
cmp dword [eax + 0xa4], edi
jne 0x434379
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
call esi
sub eax, dword [0x4a9454]
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
jns 0x434271
fadd dword [0x47afc8]
fmul qword [0x48ee00]
fcomp qword [0x47afd8]
fnstsw ax
test ah, 5
jp 0x43428c
add dword [0x4a3da8], edi
jmp 0x434292
mov dword [0x4a3da8], edi
mov ecx, dword [0x4a3da8]
push ecx
lea edx, [ebp - 0x204]
push str.g_nSaveLevDiffCounter:_d__n
push edx
call fcn.00409630
add esp, 0xc
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, dword [0x4a9be0]
mov dword [ecx + 0xa4], ebx
mov ecx, dword [0x4a3d68]
cmp ecx, 0x32
jg 0x4342f2
xor eax, eax
cmp dword [eax*4 + 0x4a6510], ecx
je 0x4342ea
add eax, edi
cmp eax, 0x32
jl 0x4342d3
mov eax, dword [0x4a3c2c]
jmp 0x4342f9
mov dword [0x4a64e4], eax
inc eax
jmp 0x4342f4
mov eax, ecx
mov dword [0x4a3c2c], eax
mov edx, dword [0x4a3c28]
add edx, 0xfffffff9
cmp dx, 3
mov dx, word [0x4a3c28]
ja 0x434336
mov ecx, eax
cmp eax, 0x32
jg 0x43431d
mov ecx, dword [eax*4 + 0x4a650c]
fldz
movzx edi, dx
imul edi, edi, 0x578
add edi, ecx
fstp dword [edi*4 + 0x4a9084]
mov edi, 1
cmp eax, 0x32
jg 0x434342
mov eax, dword [eax*4 + 0x4a650c]
movzx ecx, dx
imul ecx, ecx, 0x578
add ecx, eax
fld dword [ecx*4 + 0x4a9084]
fmul qword [0x48bf00]
call fcn.0045c160
push ebx
mov dword [0x4a677c], eax
call fcn.0042be90
add esp, 4
call fcn.004233d0
call esi
mov dword [0x4a9454], eax
mov edx, dword [0x4b80a4]
cmp dword [edx + 0xa4], edi
jne 0x43438c
call fcn.004313b0
mov eax, dword [0x4b8130]
cmp dword [eax + 0xa4], edi
jne 0x43439f
mov dword [eax + 0xa4], ebx
mov eax, dword [0x4b842c]
mov esi, 0x3e8
cmp dword [eax + 0xa4], edi
jne 0x43448f
mov dword [eax + 0xa4], ebx
mov eax, dword [0x4a9208]
inc eax
cdq
mov ecx, 0xa
idiv ecx
mov dword [0x4a9208], edx
cmp edx, 9
ja case.default.0x4343d4
jmp dword [edx*4 + 0x4346a8]
mov dword [0x4a3b20], 0x64
jmp case.default.0x4343d4
mov dword [0x4a3b20], 0xc8
jmp case.default.0x4343d4
mov dword [0x4a3b20], 0x12c
jmp case.default.0x4343d4
mov dword [0x4a3b20], 0x190
jmp case.default.0x4343d4
mov dword [0x4a3b20], 0x1f4
jmp case.default.0x4343d4
mov dword [0x4a3b20], 0x258
jmp case.default.0x4343d4
mov dword [0x4a3b20], 0x2bc
jmp case.default.0x4343d4
mov dword [0x4a3b20], 0x320
jmp case.default.0x4343d4
mov dword [0x4a3b20], 0x384
jmp case.default.0x4343d4
mov dword [0x4a3b20], esi
mov edx, dword [0x4a9a2c]
cmp dword [edx + 0xa4], edi
jne 0x434462
call fcn.00409270
jmp 0x43446c
call fcn.004094c0
call fcn.004233d0
mov eax, dword [0x4a3b20]
mov dword [0x4a6420], eax
mov dword [0x4a929c], ebx
call fcn.0040fcb0
call fcn.0040f9f0
push ebx
call fcn.0042be90
add esp, 4
mov eax, dword [0x4b8354]
cmp dword [eax + 0xa4], edi
jne 0x434574
mov dword [eax + 0xa4], ebx
mov eax, dword [0x4a3b28]
inc eax
cdq
mov ecx, 0xa
idiv ecx
mov dword [0x4a3b28], edx
cmp edx, 9
ja case.default.0x4344bf
jmp dword [edx*4 + 0x4346d0]
mov dword [0x4a3b24], 0x64
jmp case.default.0x4344bf
mov dword [0x4a3b24], 0xc8
jmp case.default.0x4344bf
mov dword [0x4a3b24], 0x12c
jmp case.default.0x4344bf
mov dword [0x4a3b24], 0x190
jmp case.default.0x4344bf
mov dword [0x4a3b24], 0x1f4
jmp case.default.0x4344bf
mov dword [0x4a3b24], 0x258
jmp case.default.0x4344bf
mov dword [0x4a3b24], 0x2bc
jmp case.default.0x4344bf
mov dword [0x4a3b24], 0x320
jmp case.default.0x4344bf
mov dword [0x4a3b24], 0x384
jmp case.default.0x4344bf
mov dword [0x4a3b24], esi
mov edx, dword [0x4a9a2c]
cmp dword [edx + 0xa4], edi
jne 0x43454d
call fcn.00409270
jmp 0x434552
call fcn.004094c0
mov eax, dword [0x4a3b24]
mov dword [0x4a6424], eax
call fcn.004233d0
call fcn.0040fb50
push ebx
call fcn.0042be90
add esp, 4
call fcn.0040fcb0
mov eax, dword [0x4a3bc8]
pop esi
cmp eax, 0xffffffff
jle 0x4345eb
mov eax, dword [eax*4 + 0x4b861c]
cmp dword [eax + 0xa4], edi
jne 0x4345eb
mov dword [eax + 0xa4], ebx
mov eax, dword [0x4a3bc4]
mov ecx, dword [0x4a3bc8]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*2]
dec dword [eax*8 + 0x4a6004]
jns 0x4345b5
mov dword [eax*8 + 0x4a6004], ebx
mov eax, dword [eax*8 + 0x4a6004]
lea eax, [eax + eax*4]
add eax, eax
push eax
push ecx
call fcn.0040e9d0
mov eax, dword [0x4a3bc4]
mov edx, dword [0x4a3bc8]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*2 - 0xa]
mov ecx, dword [eax*8 + 0x4a6054]
push ecx
push eax
call fcn.00408f10
add esp, 0x10
mov eax, dword [0x4a3bcc]
cmp eax, 0xffffffff
jle 0x43466d
mov eax, dword [eax*4 + 0x4b8224]
cmp dword [eax + 0xa4], edi
jne 0x43466d
mov dword [eax + 0xa4], ebx
mov eax, dword [0x4a3bc4]
mov ecx, dword [0x4a3bcc]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*2]
add dword [eax*8 + 0x4a6004], edi
mov edx, 0xa
cmp dword [eax*8 + 0x4a6004], edx
jle 0x434637
mov dword [eax*8 + 0x4a6004], edx
mov eax, dword [eax*8 + 0x4a6004]
lea eax, [eax + eax*4]
add eax, eax
push eax
push ecx
call fcn.0040e9d0
mov eax, dword [0x4a3bc4]
mov edx, dword [0x4a3bcc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*2 - 0xa]
mov ecx, dword [eax*8 + 0x4a6054]
push ecx
push eax
call fcn.00408f10
add esp, 0x10
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.0045bfe1
mov esp, ebp
pop ebp
ret