Function at 0x41b1b0
Capabilities:
Authenticate hmac
Encrypt data using speck
Parse pe header

Disassembly:
push 0x4de7d0
call fcn.0048b675
add esp, 4
test eax, eax
jne 0x409dd5
mov byte [0x54e4e0], 1
mov al, 1
mov dword [0x4ecae8], 0xffffffff
ret
xor al, al
ret
sub esp, 0x14
mov byte [0x4edf33], 1
nop word [eax + eax]
cmp byte [0x4edf31], 0
jne 0x40f300
mov ax, word [0x54e560]
mov word [esp + 0x10], ax
movsx eax, word [0x550b40]
mov dword [esp + 8], eax
movsx eax, word [0x550b42]
mov dword [esp + 4], eax
movsx eax, word [0x550b44]
mov dword [esp], eax
movsx eax, word [0x550b46]
mov dword [esp + 0xc], eax
movzx eax, word [esp + 0x10]
mov byte [0x4edf33], 0
movzx edx, word [eax*2 + 0x54e740]
mov eax, dword [esp + 0xc]
cmp dword [esp], eax
je 0x40f4da
mov eax, dword [esp + 0xc]
cmp dword [esp], eax
jg 0x40f4da
mov eax, dword [0x54fc2c]
dec eax
cmp dword [esp + 8], eax
mov ecx, dword [0x54fc2c]
jle 0x40f386
lea eax, [ecx - 1]
mov dword [esp + 8], eax
lea eax, [ecx - 1]
cmp dword [esp + 4], eax
jle 0x40f399
mov eax, dword [0x54fc2c]
dec eax
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
cmp eax, dword [esp + 8]
jge 0x40f3ab
mov eax, dword [esp + 8]
mov dword [esp + 4], eax
movsx ecx, dx
cmp dword [esp], ecx
jl 0x40f3b9
lea eax, [ecx - 1]
mov dword [esp], eax
cmp dword [esp + 0xc], ecx
jle 0x40f3c8
mov eax, dword [esp]
sub ecx, eax
mov dword [esp + 0xc], ecx
movzx eax, word [esp + 0x10]
push ebx
mov ebx, dword [eax*4 + 0x54e940]
test ebx, ebx
je 0x40f4d9
cmp dword [esp + 4], 0
jl 0x40f4d9
cmp dword [esp + 0xc], 0
jl 0x40f4d9
cmp dword [esp + 8], 0
jl 0x40f4d9
cmp dword [esp + 0x10], 0
jl 0x40f4d9
nop dword [eax]
cmp byte [0x4edf31], 0
jne 0x40f410
push edi
mov edi, dword [esp + 0x10]
cmp edi, dword [esp + 0xc]
jg 0x40f489
push esi
mov esi, dword [esp + 0xc]
cmp esi, dword [esp + 0x18]
jge 0x40f481
mov eax, esi
shl eax, 5
add eax, edi
lea ecx, [ebx + eax*4]
add ecx, eax
nop dword [eax + eax]
cmp byte [0x55259c], 0
je 0x40f46a
mov eax, dword [esp + 0xc]
mov edx, esi
sub edx, eax
mov eax, dword [esp + 0x14]
shl edx, 5
add edx, edi
sub edx, eax
lea edx, [edx + edx*4]
add edx, 0x500dd0
call fcn.0040f1f0
mov dword [ecx], 0
inc esi
mov byte [ecx + 4], 0
add ecx, 0xa0
cmp esi, dword [esp + 0x18]
jl 0x40f440
inc edi
cmp edi, dword [esp + 0x10]
jle 0x40f425
pop esi
mov ecx, dword [esp + 0x18]
mov byte [0x4edf33], 0
call fcn.00427510
cmp byte [0x55259c], 0
pop edi
je 0x40f4c4
mov eax, dword [esp + 8]
sub eax, dword [esp + 0xc]
mov dword [0x50addc], eax
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 4]
mov dword [0x50add0], eax
mov byte [0x4ee0a2], 1
mov byte [0x54e642], 1
mov byte [0x54ef62], 1
mov byte [0x54e4e2], 1
pop ebx
add esp, 0x14
ret
sub esp, 0x14
mov byte [0x4edf33], 1
nop word [eax + eax]
cmp byte [0x4edf31], 0
jne 0x40f4f0
mov ax, word [0x54e560]
mov word [esp], ax
movsx eax, word [0x550b40]
mov dword [esp + 0xc], eax
movsx eax, word [0x550b42]
mov dword [esp + 8], eax
movsx eax, word [0x550b44]
mov dword [esp + 4], eax
movsx eax, word [0x550b46]
mov dword [esp + 0x10], eax
movzx eax, word [esp]
mov byte [0x4edf33], 0
movzx edx, word [eax*2 + 0x54e740]
mov eax, dword [esp + 0x10]
cmp dword [esp + 4], eax
je 0x40f68c
mov eax, dword [esp + 0x10]
cmp dword [esp + 4], eax
jg 0x40f68c
mov eax, dword [0x54fc2c]
dec eax
cmp dword [esp + 0xc], eax
mov ecx, dword [0x54fc2c]
jle 0x40f577
lea eax, [ecx - 1]
mov dword [esp + 0xc], eax
lea eax, [ecx - 1]
cmp dword [esp + 8], eax
jle 0x40f58a
mov eax, dword [0x54fc2c]
dec eax
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0xc]
jge 0x40f59c
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
movsx ecx, dx
cmp dword [esp + 4], ecx
jl 0x40f5ac
lea eax, [ecx - 1]
mov dword [esp + 4], eax
cmp dword [esp + 0x10], ecx
jle 0x40f5bc
mov eax, dword [esp + 4]
sub ecx, eax
mov dword [esp + 0x10], ecx
movzx eax, word [esp]
push ebp
mov ebp, dword [eax*4 + 0x54e940]
test ebp, ebp
je 0x40f68b
cmp dword [esp + 8], 0
jl 0x40f68b
cmp dword [esp + 0x10], 0
jl 0x40f68b
cmp dword [esp + 0xc], 0
jl 0x40f68b
cmp dword [esp + 0x14], 0
jl 0x40f68b
push ebx
mov ebx, dword [esp + 0x14]
cmp ebx, dword [esp + 0x10]
jg 0x40f669
push esi
push edi
nop dword [eax]
mov esi, dword [esp + 0x14]
cmp esi, dword [esp + 0x20]
jge 0x40f660
mov eax, esi
shl eax, 5
add eax, ebx
lea edi, [eax*4]
add edi, ebp
add edi, eax
nop dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, esi
sub ecx, eax
mov eax, dword [esp + 0x1c]
shl ecx, 5
add ecx, ebx
sub ecx, eax
lea edx, [ecx*4 + 0x500dd0]
add edx, ecx
mov ecx, edi
call fcn.0040f1f0
inc esi
add edi, 0xa0
cmp esi, dword [esp + 0x20]
jl 0x40f630
inc ebx
cmp ebx, dword [esp + 0x18]
jle 0x40f610
pop edi
pop esi
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x14]
mov dword [0x50addc], eax
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0xc]
mov dword [0x50add0], eax
mov byte [0x4ee0a2], 1
pop ebx
pop ebp
add esp, 0x14
ret
push ebx
mov ebx, edx
push esi
mov esi, ecx
test ebx, ebx
je case.0x41b3a8.5
cmp byte [0x550b68], 0
je 0x41b1ce
xor cl, cl
call fcn.00422ed0
cmp byte [0x54e624], 0
je 0x41b1f9
cmp ebx, 0xd
jne 0x41b1e6
mov byte [0x54e622], 1
pop esi
pop ebx
ret
cmp ebx, 0x1b
jne case.0x41b3a8.5
mov byte [0x54e624], 0
pop esi
pop ebx
ret
cmp byte [0x552488], 0
je 0x41b2bc
cmp byte [0x552489], 0
je 0x41b2bc
cmp byte [0x55248a], 0
je 0x41b2bc
mov dl, byte [0x54e511]
test dl, dl
je 0x41b233
mov esi, str.skip
mov ch, 4
jmp 0x41b23a
mov esi, str.triton
mov ch, 6
mov cl, byte [0x51d2ea]
movzx eax, cl
mov byte [eax + 0x51dbd0], bl
cmp bl, byte [eax + esi]
je 0x41b258
mov byte [0x51d2ea], 0
pop esi
pop ebx
ret
inc cl
mov byte [0x51d2ea], cl
cmp cl, ch
jne case.0x41b3a8.5
mov byte [0x51d2ea], 0
test dl, dl
je 0x41b27a
pop esi
pop ebx
jmp fcn.00425440
mov al, byte [0x50adf7]
xor al, 1
push 0
setne byte [0x50adf7]
test al, al
je 0x41b2a5
push str.Eternal_lives_activated_
push str.Triton_productions_declares:
push 0
call fcn.00441180
add esp, 0x10
pop esi
pop ebx
ret
push str.Eternal_lives_deactivated_
push str.Triton_productions_declares:
push 0
call fcn.00441180
add esp, 0x10
pop esi
pop ebx
ret
cmp byte [esp + 0xc], 0
mov cl, byte [0x54e511]
mov al, byte [0x552480]
je 0x41b2de
test cl, cl
jne case.0x41b3a8.5
test al, al
je case.0x41b3a8.5
cmp esi, 0x29
movzx eax, al
mov edx, 1
cmovne eax, edx
cmp byte [0x54e4eb], 0
mov byte [0x552480], al
je 0x41b303
mov ecx, ebx
pop esi
pop ebx
jmp fcn.00443490
test cl, cl
je 0x41b4a1
cmp esi, 0x29
jne 0x41b395
push 0
push str.Quit_current_game_of_Nibbles_
push str.System_request
push 2
call fcn.00441180
add esp, 0x10
cmp ax, 1
jne case.0x41b3a8.5
mov byte [0x54e511], 0
call fcn.00425fe0
cmp byte [0x54e626], 0
mov byte [0x54e629], 0
je 0x41b357
pop esi
pop ebx
jmp fcn.00401650
cmp byte [0x54e628], 0
je 0x41b367
pop esi
pop ebx
jmp fcn.004065c0
cmp byte [0x54e627], 0
je 0x41b377
pop esi
pop ebx
jmp fcn.00413500
cmp byte [0x54e62b], 0
je 0x41b387
pop esi
pop ebx
jmp fcn.00425b80
mov cl, 1
call fcn.00411d00
pop esi
pop ebx
jmp fcn.00412610
add esi, 0xfffffffc
cmp esi, 0x4e
ja case.0x41b3a8.5
movzx eax, byte [esi + 0x41b524]
jmp dword [eax*4 + 0x41b500]
mov ax, word [0x51d2fc]
cmp ax, 8
jge case.0x41b3a8.5
cwde
mov byte [eax + 0x51d2fe], 0
inc word [0x51d2fc]
pop esi
pop ebx
ret
mov ax, word [0x51d2fc]
cmp ax, 8
jge case.0x41b3a8.5
cwde
mov byte [eax + 0x51d2fe], dl
inc word [0x51d2fc]
pop esi
pop ebx
ret
mov ax, word [0x51d2fc]
cmp ax, 8
jge case.0x41b3a8.5
cwde
mov byte [eax + 0x51d2fe], 2
inc word [0x51d2fc]
pop esi
pop ebx
ret
mov ax, word [0x51d2fc]
cmp ax, 8
jge case.0x41b3a8.5
cwde
mov byte [eax + 0x51d2fe], 3
inc word [0x51d2fc]
pop esi
pop ebx
ret
mov ax, word [0x51d306]
cmp ax, 8
jge case.0x41b3a8.5
cwde
mov byte [eax + 0x51d308], 0
inc word [0x51d306]
pop esi
pop ebx
ret
mov ax, word [0x51d306]
cmp ax, 8
jge case.0x41b3a8.5
cwde
mov byte [eax + 0x51d308], dl
inc word [0x51d306]
pop esi
pop ebx
ret
mov ax, word [0x51d306]
cmp ax, 8
jge case.0x41b3a8.5
cwde
mov byte [eax + 0x51d308], 2
inc word [0x51d306]
pop esi
pop ebx
ret
mov ax, word [0x51d306]
cmp ax, 8
jge case.0x41b3a8.5
cwde
mov byte [eax + 0x51d308], 3
inc word [0x51d306]
pop esi
pop ebx
ret
cmp ebx, 0x1b
jne 0x41b4bb
xor cl, cl
call fcn.00442290
cmp ax, 1
jne case.0x41b3a8.5
mov byte [0x54e4ea], al
pop esi
pop ebx
ret
movzx eax, byte [0x552484]
cmp esi, 0x57
mov ecx, ebx
cmove eax, edx
mov edx, esi
mov byte [0x552484], al
call fcn.0040e250
test al, al
jne case.0x41b3a8.5
cmp byte [0x552485], al
je 0x41b4f5
mov ecx, ebx
call fcn.0041ce70
test al, al
jne case.0x41b3a8.5
mov edx, esi
mov ecx, ebx
pop esi
pop ebx
jmp 0x41b580
sub esp, 0x14
push ebx
mov bh, byte [0x552484]
mov bl, byte [0x552489]
push ebp
push esi
push edi
test bh, bh
je 0x41b5b3
test bl, bl
jne 0x41b5b3
cmp edx, 0x53
je 0x41b5b3
cmp edx, 0x54
je 0x41b5b3
cmp edx, 0x55
je 0x41b5b3
cmp edx, 0x56
jne case.0x41bd98.1073741894
add edx, 0xffffffcb
cmp edx, 0x2e
ja case.0x41b5c6.54
movzx eax, byte [edx + 0x41cc98]
jmp dword [eax*4 + 0x41cc50]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0042b460
test bh, bh
je 0x41b5e7
mov eax, 0x20
lea ecx, [eax + 0x40]
jmp 0x41b624
mov al, byte [0x54e4f0]
neg al
sbb al, al
and al, 0x40
jmp 0x41b62e
test bh, bh
je 0x41b602
mov eax, 0x28
lea ecx, [eax + 0x40]
jmp 0x41b624
mov eax, 8
lea ecx, [eax + 0x40]
jmp 0x41b624
test bh, bh
je 0x41b61a
mov eax, 0x30
lea ecx, [eax + 0x40]
jmp 0x41b624
mov eax, 0x10
mov ecx, 0x50
cmp byte [0x54e4f0], 0
cmovne eax, ecx
mov byte [0x54e527], al
call fcn.00442f90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0042ac60
test bl, bl
je 0x41b6aa
mov cx, word [0x5524eb]
cmp cx, 0x10
jl 0x41b65b
add cx, 0xfff0
jmp 0x41b65d
xor ecx, ecx
mov al, byte [0x55259e]
mov dx, cx
shr al, 2
and al, 1
mov word [0x5524eb], cx
mov cx, word [0x552867]
movzx eax, al
push eax
call fcn.004018f0
add esp, 4
cmp byte [0x54e628], 0
je case.0x41bd98.1073741894
cmp byte [0x54e52e], 0
jne case.0x41bd98.1073741894
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.004065c0
test bh, bh
je 0x41b6d8
cmp byte [0x54e4f0], 0
mov ecx, 0x78
mov eax, 0x38
cmovne eax, ecx
mov byte [0x54e527], al
call fcn.00442f90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0042ac60
cmp byte [0x54e4f0], 0
je 0x41b6f9
mov byte [0x54e527], 0x58
call fcn.00442f90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0042ac60
mov byte [0x54e527], 0x18
call fcn.00442f90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0042ac60
test bl, bl
je case.0x41bd98.1073741894
mov cx, word [0x5524eb]
mov eax, 0xf0
cmp cx, ax
jg 0x41b730
add cx, 0x10
jmp 0x41b735
mov ecx, 0x100
mov al, byte [0x55259e]
mov dx, cx
shr al, 2
and al, 1
mov word [0x5524eb], cx
mov cx, word [0x552867]
movzx eax, al
push eax
call fcn.004018f0
add esp, 4
cmp byte [0x54e628], 0
je case.0x41bd98.1073741894
cmp byte [0x54e52e], 0
jne case.0x41bd98.1073741894
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.004065c0
mov al, byte [0x54e52a]
test al, al
je case.0x41bd98.1073741894
cmp byte [0x552488], 0
movzx eax, al
je 0x41b82a
mov ecx, dword [eax*4 + 0x54ed40]
test ecx, ecx
je case.0x41bd98.1073741894
movzx eax, byte [0x54e52c]
imul eax, eax, 0xd8
add eax, 0xdc
add eax, ecx
je case.0x41bd98.1073741894
cmp dword [eax + 0x1c], 0
je case.0x41bd98.1073741894
cmp dword [eax + 0x28], 0
jle case.0x41bd98.1073741894
push 0
push str.Clear_sample_
push str.System_request
push 1
call fcn.00441180
add esp, 0x10
cmp ax, 1
jne case.0x41bd98.1073741894
movzx edx, byte [0x54e52c]
movzx ecx, byte [0x54e52a]
call fcn.004355e0
call fcn.00414390
mov byte [0x54ef62], 1
mov byte [0x54e4e2], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp dword [eax*4 + 0x54ed40], 0
je case.0x41bd98.1073741894
push 0
push str.Clear_instrument_
push str.System_request
push 1
call fcn.00441180
add esp, 0x10
cmp ax, 1
jne case.0x41bd98.1073741894
movzx ecx, byte [0x54e52a]
call fcn.004354b0
movzx eax, byte [0x54e52a]
xorps xmm0, xmm0
imul eax, eax, 0x17
add eax, 0x54ef78
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov word [eax + 0x14], 0
mov byte [eax + 0x16], 0
call fcn.004143d0
mov byte [0x54ef62], 1
mov byte [0x54e4e2], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
xor ecx, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b710
movzx ecx, byte [0x54e527]
inc cx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b710
movzx ecx, byte [0x54e527]
add cx, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b710
movzx ecx, byte [0x54e527]
add cx, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b710
movzx ecx, byte [0x54e527]
add cx, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b710
movzx ecx, byte [0x54e527]
add cx, 5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b710
movzx ecx, byte [0x54e527]
add cx, 6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b710
movzx ecx, byte [0x54e527]
add cx, 7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b710
movzx ecx, byte [0x54e527]
add cx, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b710
cmp byte [0x552488], 0
mov al, byte [0x54e550]
je 0x41b988
test al, al
jne 0x41b984
mov byte [0x54e550], 0x10
jmp 0x41b99c
dec al
jmp 0x41b997
cmp al, 0x10
jne 0x41b995
mov byte [0x54e550], 0
jmp 0x41b99c
inc al
mov byte [0x54e550], al
cmp byte [0x54e62b], 0
jne case.0x41bd98.1073741894
cmp byte [0x54e628], 0
jne case.0x41bd98.1073741894
cmp byte [0x54e626], 0
jne case.0x41bd98.1073741894
cmp byte [0x54e62a], 0
jne case.0x41bd98.1073741894
cmp byte [0x54e627], 0
jne case.0x41bd98.1073741894
cmp byte [0x54e623], 0
jne case.0x41bd98.1073741894
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42ab60
test ecx, ecx
je case.0x41bd98.1073741894
cmp ecx, 0x4000003a
jg 0x41bd7f
je 0x41bd15
add ecx, 0xfffffff8
cmp ecx, 0x77
ja case.0x41bd98.1073741894
movzx eax, byte [ecx + 0x41ccdc]
jmp dword [eax*4 + 0x41ccc8]
cmp byte [0x54e63c], 0
je case.0x41bd98.1073741894
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0043a730
cmp byte [0x4edf35], 0
jne 0x41ba7c
call fcn.00402200
xorps xmm0, xmm0
mov byte [0x4edf35], 1
movups xmmword [0x54e530], xmm0
mov byte [0x54e637], 1
movups xmmword [0x54e540], xmm0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.00402270
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.004362c0
cmp byte [0x552488], 0
je 0x41bab5
cmp byte [0x54e4b7], 0
jne 0x41ba9f
call fcn.00428530
mov byte [0x54e4b7], 0
mov byte [0x54e642], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
call fcn.00428590
mov byte [0x54e4b7], 0
mov byte [0x54e642], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x54e62a], 0
je 0x41bae5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x409db0
cmp byte [0x552488], 0
mov byte [0x4edf33], 1
je 0x41bc04
nop dword [eax]
cmp byte [0x4edf31], 0
jne 0x41bb00
cmp byte [0x54e63a], 0
mov ax, word [0x54e560]
movzx ecx, word [0x54e55c]
mov word [esp + 0x10], ax
mov edx, ecx
mov al, byte [0x4edf35]
mov byte [0x4edf33], 0
je 0x41bb36
cmp al, 1
je 0x41bb42
cmp al, 5
je 0x41bb42
cmp al, 4
jne case.0x41bd98.1073741894
movzx eax, word [esp + 0x10]
movzx ebx, word [eax*2 + 0x54e740]
movzx eax, word [esp + 0x10]
mov esi, dword [eax*4 + 0x54e940]
mov dword [esp + 0x14], esi
test dx, dx
jle 0x41bbe0
test esi, esi
je 0x41bbd1
dec ecx
movsx ebp, bx
movsx eax, cx
mov word [0x54fc1a], cx
mov word [0x54e55c], cx
lea edx, [ebp - 1]
cmp eax, edx
jge 0x41bbac
lea edi, [eax + eax*4]
shl edi, 5
add edi, esi
sub edx, eax
lea eax, [edi + 0xa0]
mov ecx, 0xa0
mov esi, eax
rep movsb byte es:[edi], byte [esi]
mov edi, eax
sub edx, 1
jne 0x41bb92
mov esi, dword [esp + 0x14]
lea eax, [ebp*4]
add eax, ebp
shl eax, 5
push 0xa0
add eax, 0xffffff60
add eax, esi
push 0
push eax
call fcn.00484500
add esp, 0xc
jmp 0x41bbe0
lea eax, [ecx - 1]
mov word [0x54fc1a], ax
mov word [0x54e55c], ax
cmp byte [0x55258f], 0
je 0x41bbfb
cmp bx, 1
jle 0x41bbfb
mov ecx, dword [esp + 0x10]
lea edx, [ebx - 1]
call fcn.00432980
mov ecx, dword [esp + 0x10]
jmp 0x41bcf3
cmp byte [0x4edf31], 0
jne 0x41bc04
cmp byte [0x54e63a], 0
mov ax, word [0x54e560]
movzx ecx, word [0x54e55c]
mov word [esp + 0x14], ax
mov edx, ecx
mov al, byte [0x4edf35]
mov byte [0x4edf33], 0
je 0x41bc3a
cmp al, 1
je 0x41bc46
cmp al, 5
je 0x41bc46
cmp al, 4
jne case.0x41bd98.1073741894
movzx eax, word [esp + 0x14]
movzx esi, word [eax*2 + 0x54e740]
movzx eax, word [esp + 0x14]
mov ebx, dword [eax*4 + 0x54e940]
test dx, dx
jle 0x41bcef
test ebx, ebx
je 0x41bce0
dec ecx
movsx edi, si
movsx ebp, cx
mov word [0x54fc1a], cx
mov word [0x54e55c], cx
lea esi, [edi - 1]
cmp ebp, esi
jge 0x41bcc0
movzx eax, byte [0x54e4b6]
mov ecx, ebp
shl ecx, 5
add ecx, eax
lea edx, [ebx + ecx*4]
add edx, ecx
sub esi, ebp
nop dword [eax]
mov eax, dword [edx + 0xa0]
lea edx, [edx + 0xa0]
mov dword [edx - 0xa0], eax
mov al, byte [edx + 4]
mov byte [edx - 0x9c], al
sub esi, 1
jne 0x41bca0
movzx eax, byte [0x54e4b6]
shl edi, 5
add eax, 0xffffffe0
add eax, edi
lea ecx, [ebx + eax*4]
mov dword [ecx + eax], 0
mov byte [ecx + eax + 4], 0
jmp 0x41bcef
lea eax, [ecx - 1]
mov word [0x54fc1a], ax
mov word [0x54e55c], ax
mov ecx, dword [esp + 0x14]
call fcn.00427510
mov byte [0x54e642], 1
mov byte [0x54ef62], 1
mov byte [0x54e4e2], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552488], 0
je 0x41bd35
push 1
or dl, 0xff
xor cl, cl
call fcn.0040ead0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test bl, bl
je 0x41bd50
push 1
or dl, 0xff
mov cl, 1
call fcn.0040ead0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x55248a], 0
je 0x41bd70
push 1
or dl, 0xff
mov cl, 3
call fcn.0040ead0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov byte [0x54e551], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
add ecx, 0xbfffffc5
cmp ecx, 0xab
ja case.0x41bd98.1073741894
movzx eax, byte [ecx + 0x41cdb4]
jmp dword [eax*4 + 0x41cd54]
xor edx, edx
mov cl, 5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.00436140
xor edx, edx
mov cl, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.00436140
test bl, bl
jne case.0x41bd98.1073741894
xor edx, edx
mov cl, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.00436140
mov al, byte [0x54e4b7]
add al, 0xff
cmp byte [0x552508], 0
mov byte [0x54e4b7], al
jne 0x41be01
nop dword [eax]
cmp al, 3
je 0x41bdf8
cmp al, 4
jne 0x41bdfc
add al, 0xff
jmp 0x41bdf0
mov byte [0x54e4b7], al
cmp al, 0xff
jne 0x41be56
mov byte [0x54e4b7], 7
call fcn.00428530
mov byte [0x54e642], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov al, byte [0x54e4b7]
add al, 1
cmp byte [0x552508], 0
mov byte [0x54e4b7], al
jne 0x41be46
cmp al, 3
je 0x41be3d
cmp al, 4
jne 0x41be41
add al, 1
jmp 0x41be35
mov byte [0x54e4b7], al
cmp al, 8
jne 0x41be56
mov byte [0x54e4b7], 0
call fcn.00428590
mov byte [0x54e642], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552488], 0
je 0x41be84
push 1
mov dl, 1
xor cl, cl
call fcn.0040ead0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test bl, bl
je 0x41be9e
mov dl, 1
push 1
mov cl, dl
call fcn.0040ead0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x55248a], 0
je 0x41bebd
push 1
mov dl, 1
mov cl, 3
call fcn.0040ead0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov byte [0x54e551], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552488], 0
je 0x41c012
mov ax, word [0x54e560]
mov word [esp + 0x14], ax
movzx eax, word [esp + 0x14]
mov ebp, dword [eax*4 + 0x54e940]
test ebp, ebp
je case.0x41bd98.1073741894
movzx eax, word [esp + 0x14]
cmp byte [0x55259c], 0
movzx edi, word [eax*2 + 0x54e740]
je 0x41bfc5
push 0x500
push 0
push 0x5008d0
call fcn.00484500
xor eax, eax
add esp, 0xc
cmp ax, di
jge 0x41bfbe
movzx ecx, byte [0x54e4b6]
mov edx, 0x5008d2
mov bl, byte [0x54e51b]
mov esi, edi
mov bh, byte [0x54e51a]
lea eax, [ecx*4]
add ecx, 2
add eax, ebp
add ecx, eax
nop dword [eax]
cmp byte [0x54e4ec], 0
je 0x41bfa4
cmp byte [0x54e517], 0
je 0x41bf78
mov al, byte [ecx - 2]
mov byte [edx - 2], al
cmp byte [0x54e518], 0
je 0x41bf87
mov al, byte [ecx - 1]
mov byte [edx - 1], al
cmp byte [0x54e519], 0
je 0x41bf94
mov al, byte [ecx]
mov byte [edx], al
test bh, bh
je 0x41bf9e
mov al, byte [ecx + 1]
mov byte [edx + 1], al
test bl, bl
je 0x41bfb0
jmp 0x41bfaa
mov eax, dword [ecx - 2]
mov dword [edx - 2], eax
mov al, byte [ecx + 2]
mov byte [edx + 2], al
add edx, 5
add ecx, 0xa0
sub esi, 1
jne 0x41bf60
mov word [0x50add8], di
cmp byte [0x4edf31], 0
jne 0x41bfc5
xor eax, eax
cmp ax, di
jge 0x41c191
movzx eax, byte [0x54e4b6]
lea ecx, [eax*4]
add ecx, ebp
add ecx, eax
mov eax, edi
nop dword [eax]
mov dword [ecx], 0
lea ecx, [ecx + 0xa0]
mov byte [ecx - 0x9c], 0
sub eax, 1
jne 0x41bff0
mov byte [0x4edf33], al
jmp 0x41bcef
test bl, bl
je 0x41c19d
mov ax, word [0x54e560]
mov word [esp + 0x14], ax
movzx eax, word [esp + 0x14]
mov esi, dword [eax*4 + 0x54e940]
mov dword [esp + 0x18], esi
test esi, esi
je case.0x41bd98.1073741894
movzx eax, word [esp + 0x14]
cmp byte [0x55259c], 0
movzx ebp, word [eax*2 + 0x54e740]
je 0x41c143
push 0xa000
push 0
push 0x4f68d0
call fcn.00484500
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x10], ecx
cmp dword [0x54fc2c], ecx
jle 0x41c13c
xor eax, eax
nop
xor edx, edx
cmp dx, bp
jge 0x41c128
lea eax, [eax + eax*4]
mov edi, 0x4f68d1
lea ecx, [esi + 2]
sub edi, esi
mov ebx, 0x4f68d2
lea edx, [eax + 0x4f68d0]
add ecx, eax
sub ebx, esi
mov esi, ebp
nop dword [eax]
cmp byte [0x54e4ec], 0
je 0x41c104
cmp byte [0x54e517], 0
je 0x41c0c7
mov al, byte [ecx - 2]
mov byte [edx], al
cmp byte [0x54e518], 0
je 0x41c0d6
mov al, byte [ecx - 1]
mov byte [edx + 1], al
cmp byte [0x54e519], 0
je 0x41c0e4
mov al, byte [ecx]
mov byte [edx + 2], al
cmp byte [0x54e51a], 0
je 0x41c0f3
mov al, byte [ecx + 1]
mov byte [ecx + edi], al
cmp byte [0x54e51b], 0
je 0x41c10f
mov al, byte [ecx + 2]
mov byte [ecx + ebx], al
jmp 0x41c10f
mov eax, dword [ecx - 2]
mov dword [edx], eax
mov al, byte [ecx + 2]
mov byte [edx + 4], al
add edx, 0xa0
add ecx, 0xa0
sub esi, 1
jne 0x41c0b0
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
inc ecx
movsx eax, cx
mov dword [esp + 0x10], ecx
cmp eax, dword [0x54fc2c]
jl 0x41c080
mov word [0x50add4], bp
cmp byte [0x4edf31], 0
jne 0x41c143
mov eax, dword [0x54fc2c]
xor edx, edx
test eax, eax
jle 0x41c191
xor ecx, ecx
nop dword [eax]
xor edi, edi
cmp di, bp
jge 0x41c189
lea eax, [esi + ecx*4]
add eax, ecx
mov ecx, ebp
nop
mov dword [eax], edi
lea eax, [eax + 0xa0]
mov byte [eax - 0x9c], 0
sub ecx, 1
jne 0x41c170
mov eax, dword [0x54fc2c]
inc edx
movsx ecx, dx
cmp ecx, eax
jl 0x41c160
mov byte [0x4edf33], 0
jmp 0x41bcef
cmp byte [0x55248a], 0
je 0x41c1b2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x40f2f0
mov byte [0x54e551], 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552488], 0
je 0x41c2ad
mov ax, word [0x54e560]
mov word [esp + 0x10], ax
movzx eax, word [esp + 0x10]
mov esi, dword [eax*4 + 0x54e940]
test esi, esi
je case.0x41bd98.1073741894
push 0x500
push 0
push 0x5008d0
call fcn.00484500
movzx eax, word [esp + 0x1c]
add esp, 0xc
movzx edi, word [eax*2 + 0x54e740]
xor eax, eax
cmp ax, di
jge 0x41c29e
movzx ecx, byte [0x54e4b6]
mov edx, 0x5008d2
mov bl, byte [0x54e51b]
mov bh, byte [0x54e51a]
lea eax, [esi + ecx*4]
add ecx, 2
add ecx, eax
mov esi, edi
nop dword [eax + eax]
cmp byte [0x54e4ec], 0
je 0x41c284
cmp byte [0x54e517], 0
je 0x41c258
mov al, byte [ecx - 2]
mov byte [edx - 2], al
cmp byte [0x54e518], 0
je 0x41c267
mov al, byte [ecx - 1]
mov byte [edx - 1], al
cmp byte [0x54e519], 0
je 0x41c274
mov al, byte [ecx]
mov byte [edx], al
test bh, bh
je 0x41c27e
mov al, byte [ecx + 1]
mov byte [edx + 1], al
test bl, bl
je 0x41c290
jmp 0x41c28a
mov eax, dword [ecx - 2]
mov dword [edx - 2], eax
mov al, byte [ecx + 2]
mov byte [edx + 2], al
add edx, 5
add ecx, 0xa0
sub esi, 1
jne 0x41c240
mov word [0x50add8], di
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test bl, bl
je 0x41c3d7
mov ax, word [0x54e560]
mov word [esp + 0x10], ax
movzx eax, word [esp + 0x10]
mov ebx, dword [eax*4 + 0x54e940]
mov dword [esp + 0x14], ebx
test ebx, ebx
je case.0x41bd98.1073741894
push 0xa000
push 0
push 0x4f68d0
call fcn.00484500
movzx eax, word [esp + 0x1c]
xor ebp, ebp
add esp, 0xc
movzx esi, word [eax*2 + 0x54e740]
mov dword [esp + 0x18], esi
cmp dword [0x54fc2c], ebp
jle 0x41c3c8
xor eax, eax
nop dword [eax]
xor ecx, ecx
cmp cx, si
jge 0x41c3b8
lea ecx, [ebx + 2]
movzx esi, si
mov edi, 0x4f68d1
lea eax, [eax + eax*4]
sub edi, ebx
lea edx, [eax + 0x4f68d0]
mov ebx, 0x4f68d2
add ecx, eax
sub ebx, dword [esp + 0x14]
nop dword [eax]
cmp byte [0x54e4ec], 0
je 0x41c394
cmp byte [0x54e517], 0
je 0x41c357
mov al, byte [ecx - 2]
mov byte [edx], al
cmp byte [0x54e518], 0
je 0x41c366
mov al, byte [ecx - 1]
mov byte [edx + 1], al
cmp byte [0x54e519], 0
je 0x41c374
mov al, byte [ecx]
mov byte [edx + 2], al
cmp byte [0x54e51a], 0
je 0x41c383
mov al, byte [ecx + 1]
mov byte [ecx + edi], al
cmp byte [0x54e51b], 0
je 0x41c39f
mov al, byte [ecx + 2]
mov byte [ecx + ebx], al
jmp 0x41c39f
mov eax, dword [ecx - 2]
mov dword [edx], eax
mov al, byte [ecx + 2]
mov byte [edx + 4], al
add edx, 0xa0
add ecx, 0xa0
sub esi, 1
jne 0x41c340
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
inc ebp
movsx eax, bp
cmp eax, dword [0x54fc2c]
jl 0x41c310
mov word [0x50add4], si
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x55248a], 0
je 0x41c3ec
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x40f4e0
mov byte [0x54e551], 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552488], 0
je 0x41c498
cmp word [0x50add8], 0
mov ax, word [0x54e560]
mov word [esp + 0x10], ax
je case.0x41bd98.1073741894
mov ecx, dword [esp + 0x10]
call fcn.00427460
test al, al
je case.0x41bd98.1073741894
movzx eax, word [esp + 0x10]
mov edx, dword [eax*4 + 0x54e940]
movzx eax, word [esp + 0x10]
movzx esi, word [eax*2 + 0x54e740]
nop dword [eax + eax]
cmp byte [0x4edf31], 0
jne 0x41c450
xor eax, eax
cmp ax, si
jge 0x41c586
movzx eax, byte [0x54e4b6]
mov ecx, 0x5008d0
lea edx, [edx + eax*4]
add edx, eax
call fcn.0040f250
add edx, 0xa0
add ecx, 5
sub esi, 1
jne 0x41c475
mov ecx, dword [esp + 0x10]
mov byte [0x4edf33], 0
jmp 0x41bcf3
test bl, bl
je 0x41c596
cmp word [0x50add4], 0
mov ax, word [0x54e560]
mov word [esp + 0x10], ax
je case.0x41bd98.1073741894
movzx eax, word [esp + 0x10]
movsx ecx, word [eax*2 + 0x54e740]
movzx eax, word [0x50add4]
cmp ecx, eax
je 0x41c4fd
push 0
push str.Adjust_pattern_length_to_match_copied_pattern_length_
push str.System_request
push 2
call fcn.00441180
add esp, 0x10
cmp ax, 1
jne 0x41c4fd
mov dx, word [0x50add4]
mov ecx, dword [esp + 0x10]
call fcn.00432980
mov ecx, dword [esp + 0x10]
call fcn.00427460
test al, al
je case.0x41bd98.1073741894
movzx eax, word [esp + 0x10]
mov edx, dword [eax*4 + 0x54e940]
movzx eax, word [esp + 0x10]
mov dword [esp + 0x18], edx
movzx ebp, word [eax*2 + 0x54e740]
nop dword [eax + eax]
cmp byte [0x4edf31], 0
jne 0x41c530
mov ecx, dword [0x54fc2c]
xor ebx, ebx
test ecx, ecx
jle 0x41c586
xor eax, eax
xor esi, esi
cmp si, bp
jge 0x41c57e
lea ecx, [eax*4 + 0x4f68d0]
mov edi, edx
add ecx, eax
mov esi, ebp
sub edi, 0x4f68d0
lea edx, [edi + ecx]
call fcn.0040f250
add ecx, 0xa0
sub esi, 1
jne 0x41c561
mov ecx, dword [0x54fc2c]
mov edx, dword [esp + 0x18]
inc ebx
movsx eax, bx
cmp eax, ecx
jl 0x41c547
mov ecx, dword [esp + 0x10]
mov byte [0x4edf33], 0
jmp 0x41bcf3
cmp byte [0x55248a], 0
je 0x41c6e7
mov byte [0x4edf33], 1
nop word [eax + eax]
cmp byte [0x4edf31], 0
jne 0x41c5b0
cmp byte [0x4ee0a2], 0
movzx eax, word [0x54e560]
mov word [esp + 0x14], ax
movzx eax, word [0x54e55c]
mov word [esp + 0x10], ax
mov byte [0x4edf33], 0
je case.0x41bd98.1073741894
mov ecx, dword [esp + 0x14]
call fcn.00427460
test al, al
je case.0x41bd98.1073741894
mov ax, word [esp + 0x10]
movzx ebp, byte [0x54e4b6]
movzx edx, ax
movzx eax, word [esp + 0x14]
mov ecx, dword [0x54fc2c]
movzx eax, word [eax*2 + 0x54e740]
cmp ebp, ecx
jl 0x41c61f
lea ebp, [ecx - 1]
movsx edi, ax
cmp edx, edi
lea ebx, [edi - 1]
cmovl ebx, edx
mov edx, dword [0x50addc]
inc edx
lea eax, [edx + ebp]
cmp eax, ecx
jle 0x41c63c
mov edx, ecx
sub edx, ebp
mov ecx, dword [0x50add0]
mov esi, edi
sub esi, ebx
lea eax, [ebx + ecx]
cmp eax, edi
cmovle esi, ecx
mov dword [esp + 0x10], esi
test edx, edx
jle 0x41bcef
test esi, esi
jle 0x41bcef
movzx eax, word [esp + 0x14]
mov eax, dword [eax*4 + 0x54e940]
mov dword [esp + 0x18], eax
cmp byte [0x4edf31], 0
jne 0x41c672
lea eax, [edx + ebp]
mov edi, ebp
mov dword [esp + 0x1c], eax
cmp ebp, eax
jge 0x41c191
lea ecx, [ebx + esi]
mov dword [esp + 0x20], ecx
cmp ebx, ecx
jge 0x41c6d6
mov ecx, dword [esp + 0x18]
mov eax, ebx
shl eax, 5
add eax, edi
lea edx, [ecx + eax*4]
add edx, eax
mov eax, edi
sub eax, ebp
lea ecx, [eax*4 + 0x500dd0]
add ecx, eax
call fcn.0040f250
add edx, 0xa0
add ecx, 0xa0
sub esi, 1
jne 0x41c6b4
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
inc edi
cmp edi, eax
jl 0x41c693
mov byte [0x4edf33], 0
jmp 0x41bcef
mov byte [0x54e551], 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov byte [0x54e551], 5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552488], 0
je 0x41c725
push 0
or dl, 0xff
xor cl, cl
call fcn.0040ead0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test bl, bl
je 0x41c740
push 0
or dl, 0xff
mov cl, 1
call fcn.0040ead0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x55248a], 0
je 0x41c760
push 0
or dl, 0xff
mov cl, 3
call fcn.0040ead0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov byte [0x54e551], 6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552488], 0
je 0x41c78e
push 0
mov dl, 1
xor cl, cl
call fcn.0040ead0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test bl, bl
je 0x41c7a8
mov dl, 1
push 0
mov cl, dl
call fcn.0040ead0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x55248a], 0
je 0x41c760
push 0
mov dl, 1
mov cl, 3
call fcn.0040ead0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov ecx, dword [0x78b4d8]
test ecx, ecx
je 0x41c7e1
push ecx
call dword [sym.imp.SDL2.dll_SDL_LockAudioDevice]
mov ecx, dword [0x78b4d8]
add esp, 4
movzx eax, byte [0x54e554]
mov edx, eax
mov byte [0x789f64], 1
mov word [0x54fc1a], ax
cmp ax, word [0x54fc1c]
jl 0x41c80f
mov eax, dword [0x54fc1c]
dec eax
mov word [0x54fc1a], ax
movzx edx, ax
cmp byte [0x4edf32], 0
jne 0x41cc31
movzx eax, dl
mov word [0x54e55c], ax
mov byte [0x54e642], 1
jmp 0x41cc31
mov ecx, dword [0x78b4d8]
test ecx, ecx
je 0x41c84b
push ecx
call dword [sym.imp.SDL2.dll_SDL_LockAudioDevice]
mov ecx, dword [0x78b4d8]
add esp, 4
movzx eax, byte [0x54e555]
jmp 0x41c7e8
mov ecx, dword [0x78b4d8]
test ecx, ecx
je 0x41c86e
push ecx
call dword [sym.imp.SDL2.dll_SDL_LockAudioDevice]
mov ecx, dword [0x78b4d8]
add esp, 4
movzx eax, byte [0x54e556]
jmp 0x41c7e8
mov ecx, dword [0x78b4d8]
test ecx, ecx
je 0x41c894
push ecx
call dword [sym.imp.SDL2.dll_SDL_LockAudioDevice]
mov ecx, dword [0x78b4d8]
add esp, 4
movzx eax, byte [0x54e557]
jmp 0x41c7e8
cmp byte [0x552488], 0
je 0x41c8b5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0040e6b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0040e5a0
cmp byte [0x552488], 0
je 0x41c8d6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.004369d0
cmp byte [0x55248a], 0
je 0x41c98c
movsx dx, byte [0x54e4b6]
movzx ecx, word [0x54e55c]
cmp dx, word [0x550b40]
je 0x41c922
cmp dx, word [0x550b42]
je 0x41c922
mov word [0x550b40], dx
lea eax, [ecx + 1]
mov word [0x550b42], dx
mov word [0x550b44], cx
mov word [0x550b46], ax
movsx eax, word [0x550b44]
movsx esi, cx
dec eax
cmp esi, eax
jne 0x41c949
mov word [0x550b44], cx
call fcn.00428e40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x4293c0
cmp cx, word [0x550b46]
jne 0x41c957
lea eax, [esi - 1]
jmp 0x41c981
cmp cx, word [0x550b44]
je 0x41c987
cmp cx, word [0x550b46]
je 0x41c987
mov word [0x550b40], dx
lea eax, [esi + 1]
mov word [0x550b42], dx
mov word [0x550b44], cx
mov word [0x550b46], ax
call fcn.00428e40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x4293c0
cmp byte [0x552488], 0
je 0x41c9ad
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.00436a70
cmp byte [0x55248a], 0
je 0x41ca60
movsx dx, byte [0x54e4b6]
movzx ecx, word [0x54e55c]
cmp dx, word [0x550b40]
je 0x41c9f9
cmp dx, word [0x550b42]
je 0x41c9f9
mov word [0x550b40], dx
lea eax, [ecx + 1]
mov word [0x550b42], dx
mov word [0x550b44], cx
mov word [0x550b46], ax
movsx esi, cx
cmp cx, word [0x550b46]
je 0x41ca52
movsx eax, word [0x550b44]
dec eax
cmp esi, eax
jne 0x41ca2b
lea eax, [esi + 2]
mov word [0x550b44], ax
call fcn.00428e40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x429450
cmp cx, word [0x550b44]
je 0x41ca5b
cmp cx, word [0x550b46]
je 0x41ca5b
mov word [0x550b40], dx
mov word [0x550b42], dx
mov word [0x550b44], cx
lea eax, [esi + 1]
mov word [0x550b46], ax
call fcn.00428e40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x429450
mov al, byte [0x789f64]
mov edx, dword [0x78b4d8]
test al, al
sete byte [esp + 0x10]
test al, al
jne 0x41ca9d
test edx, edx
je 0x41ca96
push edx
call dword [sym.imp.SDL2.dll_SDL_LockAudioDevice]
mov edx, dword [0x78b4d8]
add esp, 4
mov byte [0x789f64], 1
mov ax, word [0x54fc1a]
sub ax, 0x10
movzx ebx, ax
mov word [0x54fc1a], ax
jns 0x41caba
xor eax, eax
mov word [0x54fc1a], ax
cmp byte [0x4edf32], 0
jne 0x41cade
xor ecx, ecx
movzx eax, bl
test bx, bx
mov byte [0x54e642], 1
cmovns ecx, eax
movzx eax, cl
mov word [0x54e55c], ax
cmp byte [esp + 0x10], 0
je case.0x41bd98.1073741894
test edx, edx
je 0x41cc3f
push edx
jmp 0x41cc36
mov al, byte [0x789f64]
mov edx, dword [0x78b4d8]
test al, al
sete bl
test al, al
jne 0x41cb26
test edx, edx
je 0x41cb1f
push edx
call dword [sym.imp.SDL2.dll_SDL_LockAudioDevice]
mov edx, dword [0x78b4d8]
add esp, 4
mov byte [0x789f64], 1
mov ax, word [0x54fc1a]
add ax, 0x10
movzx ecx, ax
mov word [0x54fc1a], ax
mov eax, ecx
cmp cx, word [0x54fc1c]
jl 0x41cb53
mov eax, dword [0x54fc1c]
dec eax
mov word [0x54fc1a], ax
movzx eax, ax
cmp byte [0x4edf32], 0
jne 0x41cb6c
movzx eax, al
mov word [0x54e55c], ax
mov byte [0x54e642], 1
test bl, bl
je case.0x41bd98.1073741894
test edx, edx
je 0x41cc3f
push edx
jmp 0x41cc36
mov al, byte [0x789f64]
test al, al
sete bl
test al, al
mov eax, dword [0x78b4d8]
jne 0x41cbaf
test eax, eax
je 0x41cba8
push eax
call dword [sym.imp.SDL2.dll_SDL_LockAudioDevice]
mov eax, dword [0x78b4d8]
add esp, 4
mov byte [0x789f64], 1
xor ecx, ecx
mov word [0x54fc1a], cx
cmp byte [0x4edf32], cl
jne 0x41cbce
mov word [0x54e55c], cx
mov byte [0x54e642], 1
test bl, bl
je case.0x41bd98.1073741894
test eax, eax
je 0x41cc3f
push eax
jmp 0x41cc36
mov al, byte [0x789f64]
mov ecx, dword [0x78b4d8]
test al, al
sete bl
test al, al
jne 0x41cc08
test ecx, ecx
je 0x41cc01
push ecx
call dword [sym.imp.SDL2.dll_SDL_LockAudioDevice]
mov ecx, dword [0x78b4d8]
add esp, 4
mov byte [0x789f64], 1
mov eax, dword [0x54fc1c]
dec eax
cmp byte [0x4edf32], 0
mov word [0x54fc1a], ax
jne 0x41cc2d
movzx eax, al
mov word [0x54e55c], ax
mov byte [0x54e642], 1
test bl, bl
je case.0x41bd98.1073741894
test ecx, ecx
je 0x41cc3f
push ecx
call dword [sym.imp.SDL2.dll_SDL_UnlockAudioDevice]
add esp, 4
mov byte [0x789f64], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov al, byte [0x789f64]
test al, al
push ebx
sete bl
push esi
mov esi, dword [0x78b4d8]
test al, al
jne 0x4293f1
test esi, esi
je 0x4293ea
push esi
call dword [sym.imp.SDL2.dll_SDL_LockAudioDevice]
mov esi, dword [0x78b4d8]
add esp, 4
mov byte [0x789f64], 1
mov ax, word [0x54fc1c]
test ax, ax
jle 0x42942e
movsx ecx, ax
movsx eax, word [0x54fc1a]
dec eax
add eax, ecx
cdq
idiv ecx
cmp byte [0x4edf32], 0
movzx eax, dx
mov word [0x54fc1a], ax
jne 0x42942e
movzx eax, al
mov word [0x54e55c], ax
mov byte [0x54e642], 1
test bl, bl
je 0x429447
test esi, esi
je 0x429440
push esi
call dword [sym.imp.SDL2.dll_SDL_UnlockAudioDevice]
add esp, 4
mov byte [0x789f64], 0
pop esi
pop ebx
ret
mov al, byte [0x789f64]
test al, al
push ebx
sete bl
push esi
mov esi, dword [0x78b4d8]
test al, al
jne 0x429481
test esi, esi
je 0x42947a
push esi
call dword [sym.imp.SDL2.dll_SDL_LockAudioDevice]
mov esi, dword [0x78b4d8]
add esp, 4
mov byte [0x789f64], 1
cmp byte [0x4edf32], 0
je 0x429497
mov eax, 2
mov word [0x54fc2a], ax
jmp 0x4294cb
mov ax, word [0x54fc1c]
test ax, ax
jle 0x4294cb
movsx ecx, ax
movsx eax, word [0x54fc1a]
inc eax
mov byte [0x54e642], 1
add eax, ecx
cdq
idiv ecx
movzx eax, dx
mov word [0x54fc1a], ax
movzx eax, al
mov word [0x54e55c], ax
test bl, bl
je 0x4294e4
test esi, esi
je 0x4294dd
push esi
call dword [sym.imp.SDL2.dll_SDL_UnlockAudioDevice]
add esp, 4
mov byte [0x789f64], 0
pop esi
pop ebx
ret
movzx eax, byte [0x54e550]
mov edx, 0x40
push dword [eax*4 + 0x4bf0b0]
push 4
push ecx
lea ecx, [edx + 0x58]
call fcn.00411210
add esp, 0xc
ret
push ecx
mov eax, 0x80
cmp cx, ax
jg 0x42b730
mov byte [0x54e52a], cl
call fcn.00442f90
call fcn.0042ac60
call fcn.004143d0
pop ecx
ret