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

Disassembly:
push 0x4de778
call fcn.0048b7a5
add esp, 4
test eax, eax
jne 0x409e95
mov byte [0x54e4e0], 1
mov al, 1
mov dword [0x4ecae8], 0xffffffff
ret
xor al, al
ret
sub esp, 8
mov byte [0x4edf33], 1
nop word [eax + eax]
cmp byte [0x4edf31], 0
jne 0x40e4b0
mov ax, word [0x54e560]
movzx edx, word [0x54e55c]
mov word [esp], ax
mov al, byte [0x4edf35]
mov dword [esp + 4], edx
mov byte [0x4edf33], 0
cmp al, 1
je 0x40e4ea
cmp al, 5
je 0x40e4ea
cmp al, 4
jne 0x40e62c
movzx eax, word [esp]
push ebx
mov ebx, dword [eax*4 + 0x54e940]
test ebx, ebx
je 0x40e62b
movzx eax, word [esp + 4]
push esi
push edi
movzx ecx, word [eax*2 + 0x54e740]
mov ax, word [0x54e4b6]
cmp cx, 1
jle 0x40e564
movsx edi, cx
push ebp
movsx ebp, dx
sub edi, 2
cmp edi, ebp
jl 0x40e563
mov edx, edi
movzx ecx, al
shl edx, 5
sub edi, ebp
add edx, ecx
lea esi, [ebx + edx*4]
add esi, edx
inc edi
nop dword [eax]
mov ecx, dword [esi]
lea esi, [esi - 0xa0]
mov dword [esi + 0x140], ecx
mov cl, byte [esi + 0xa4]
mov byte [esi + 0x144], cl
sub edi, 1
jne 0x40e540
mov edx, dword [esp + 0x14]
pop ebp
movzx eax, al
movsx ecx, dx
shl ecx, 5
add ecx, eax
lea eax, [ebx + ecx*4]
mov dword [eax + ecx], 0
mov byte [eax + ecx + 4], 0
mov ax, word [esp + 0xc]
movzx esi, ax
mov al, byte [0x789f64]
mov ecx, dword [0x78b4d8]
test al, al
sete bl
test al, al
jne 0x40e5b5
test ecx, ecx
je 0x40e5ae
push ecx
call dword [sym.imp.SDL2.dll_SDL_LockAudioDevice]
mov ecx, dword [0x78b4d8]
add esp, 4
mov byte [0x789f64], 1
mov edi, esi
mov edx, dword [edi*4 + 0x54e940]
test edx, edx
je 0x40e5fb
movsx eax, word [edi*2 + 0x54e740]
lea esi, [eax + eax*4]
xor eax, eax
shl esi, 5
test esi, esi
je 0x40e5e1
cmp byte [eax + edx], 0
jne 0x40e5fb
inc eax
cmp eax, esi
jb 0x40e5d6
push edx
call fcn.00489083
mov ecx, dword [0x78b4d8]
add esp, 4
mov dword [edi*4 + 0x54e940], 0
pop edi
pop esi
test bl, bl
je 0x40e616
test ecx, ecx
je 0x40e60f
push ecx
call dword [sym.imp.SDL2.dll_SDL_UnlockAudioDevice]
add esp, 4
mov byte [0x789f64], 0
mov byte [0x54e642], 1
mov byte [0x54ef62], 1
mov byte [0x54e4e2], 1
pop ebx
add esp, 8
ret
sub esp, 0x14
mov byte [0x4edf33], 1
nop word [eax + eax]
cmp byte [0x4edf31], 0
jne 0x40f170
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 0x40f34a
mov eax, dword [esp + 0xc]
cmp dword [esp], eax
jg 0x40f34a
mov eax, dword [0x54fc2c]
dec eax
cmp dword [esp + 8], eax
mov ecx, dword [0x54fc2c]
jle 0x40f1f6
lea eax, [ecx - 1]
mov dword [esp + 8], eax
lea eax, [ecx - 1]
cmp dword [esp + 4], eax
jle 0x40f209
mov eax, dword [0x54fc2c]
dec eax
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
cmp eax, dword [esp + 8]
jge 0x40f21b
mov eax, dword [esp + 8]
mov dword [esp + 4], eax
movsx ecx, dx
cmp dword [esp], ecx
jl 0x40f229
lea eax, [ecx - 1]
mov dword [esp], eax
cmp dword [esp + 0xc], ecx
jle 0x40f238
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 0x40f349
cmp dword [esp + 4], 0
jl 0x40f349
cmp dword [esp + 0xc], 0
jl 0x40f349
cmp dword [esp + 8], 0
jl 0x40f349
cmp dword [esp + 0x10], 0
jl 0x40f349
nop dword [eax]
cmp byte [0x4edf31], 0
jne 0x40f280
push edi
mov edi, dword [esp + 0x10]
cmp edi, dword [esp + 0xc]
jg 0x40f2f9
push esi
mov esi, dword [esp + 0xc]
cmp esi, dword [esp + 0x18]
jge 0x40f2f1
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 0x40f2da
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.0040f060
mov dword [ecx], 0
inc esi
mov byte [ecx + 4], 0
add ecx, 0xa0
cmp esi, dword [esp + 0x18]
jl 0x40f2b0
inc edi
cmp edi, dword [esp + 0x10]
jle 0x40f295
pop esi
mov ecx, dword [esp + 0x18]
mov byte [0x4edf33], 0
call fcn.00427650
cmp byte [0x55259c], 0
pop edi
je 0x40f334
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 0x40f360
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 0x40f4fc
mov eax, dword [esp + 0x10]
cmp dword [esp + 4], eax
jg 0x40f4fc
mov eax, dword [0x54fc2c]
dec eax
cmp dword [esp + 0xc], eax
mov ecx, dword [0x54fc2c]
jle 0x40f3e7
lea eax, [ecx - 1]
mov dword [esp + 0xc], eax
lea eax, [ecx - 1]
cmp dword [esp + 8], eax
jle 0x40f3fa
mov eax, dword [0x54fc2c]
dec eax
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0xc]
jge 0x40f40c
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
movsx ecx, dx
cmp dword [esp + 4], ecx
jl 0x40f41c
lea eax, [ecx - 1]
mov dword [esp + 4], eax
cmp dword [esp + 0x10], ecx
jle 0x40f42c
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 0x40f4fb
cmp dword [esp + 8], 0
jl 0x40f4fb
cmp dword [esp + 0x10], 0
jl 0x40f4fb
cmp dword [esp + 0xc], 0
jl 0x40f4fb
cmp dword [esp + 0x14], 0
jl 0x40f4fb
push ebx
mov ebx, dword [esp + 0x14]
cmp ebx, dword [esp + 0x10]
jg 0x40f4d9
push esi
push edi
nop dword [eax]
mov esi, dword [esp + 0x14]
cmp esi, dword [esp + 0x20]
jge 0x40f4d0
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.0040f060
inc esi
add edi, 0xa0
cmp esi, dword [esp + 0x20]
jl 0x40f4a0
inc ebx
cmp ebx, dword [esp + 0x18]
jle 0x40f480
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 ecx
push ebx
push esi
mov ebx, edx
mov esi, ecx
push edi
test ebx, ebx
je case.0x41b1d3.5
cmp byte [0x550b68], 0
je 0x41afd0
xor cl, cl
call fcn.00423010
cmp byte [0x54e624], 0
je 0x41afff
cmp ebx, 0xd
jne 0x41afea
mov byte [0x54e622], 1
pop edi
pop esi
pop ebx
pop ecx
ret
cmp ebx, 0x1b
jne case.0x41b1d3.5
mov byte [0x54e624], 0
pop edi
pop esi
pop ebx
pop ecx
ret
mov ch, byte [0x552497]
mov dl, byte [0x552499]
mov cl, byte [0x552498]
test ch, ch
je 0x41b0cf
test cl, cl
je 0x41b0cf
test dl, dl
je 0x41b0cf
mov dl, byte [0x54e511]
test dl, dl
je 0x41b03c
mov esi, str.skip
mov ch, 4
jmp 0x41b043
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 0x41b063
mov byte [0x51d2ea], 0
pop edi
pop esi
pop ebx
pop ecx
ret
inc cl
mov byte [0x51d2ea], cl
cmp cl, ch
jne case.0x41b1d3.5
mov byte [0x51d2ea], 0
test dl, dl
je 0x41b089
pop edi
pop esi
pop ebx
add esp, 4
jmp fcn.00425570
mov al, byte [0x50adf7]
xor al, 1
push 0
setne byte [0x50adf7]
test al, al
je 0x41b0b6
push str.Eternal_lives_activated_
push str.Triton_productions_declares:
push 0
call fcn.00441220
add esp, 0x10
pop edi
pop esi
pop ebx
pop ecx
ret
push str.Eternal_lives_deactivated_
push str.Triton_productions_declares:
push 0
call fcn.00441220
add esp, 0x10
pop edi
pop esi
pop ebx
pop ecx
ret
cmp byte [esp + 0x14], 0
mov dh, byte [0x54e511]
mov al, byte [0x552490]
je 0x41b0f1
test dh, dh
jne case.0x41b1d3.5
test al, al
je case.0x41b1d3.5
cmp esi, 0x29
movzx eax, al
mov edi, 1
cmovne eax, edi
cmp byte [0x54e4eb], 0
mov byte [0x552490], al
je 0x41b11a
mov ecx, ebx
pop edi
pop esi
pop ebx
add esp, 4
jmp fcn.00443530
test dh, dh
je 0x41b2de
cmp esi, 0x29
jne 0x41b1c0
push 0
push str.Quit_current_game_of_Nibbles_
push str.System_request
push 2
call fcn.00441220
add esp, 0x10
cmp ax, 1
jne case.0x41b1d3.5
mov byte [0x54e511], 0
call fcn.00426120
cmp byte [0x54e626], 0
mov byte [0x54e629], 0
je 0x41b172
pop edi
pop esi
pop ebx
add esp, 4
jmp fcn.00401650
cmp byte [0x54e628], 0
je 0x41b186
pop edi
pop esi
pop ebx
add esp, 4
jmp fcn.004065f0
cmp byte [0x54e627], 0
je 0x41b19a
pop edi
pop esi
pop ebx
add esp, 4
jmp fcn.00413370
cmp byte [0x54e62b], 0
je 0x41b1ae
pop edi
pop esi
pop ebx
add esp, 4
jmp fcn.00425cd0
mov cl, 1
call fcn.00411b80
pop edi
pop esi
pop ebx
add esp, 4
jmp fcn.00412480
add esi, 0xfffffffc
cmp esi, 0x4e
ja case.0x41b1d3.5
movzx eax, byte [esi + 0x41b4b4]
jmp dword [eax*4 + 0x41b490]
mov ax, word [0x51d2fc]
cmp ax, 8
jge case.0x41b1d3.5
cwde
mov byte [eax + 0x51d2fe], 0
inc word [0x51d2fc]
pop edi
pop esi
pop ebx
pop ecx
ret
mov ax, word [0x51d2fc]
cmp ax, 8
jge case.0x41b1d3.5
cwde
mov byte [eax + 0x51d2fe], 1
inc word [0x51d2fc]
pop edi
pop esi
pop ebx
pop ecx
ret
mov ax, word [0x51d2fc]
cmp ax, 8
jge case.0x41b1d3.5
cwde
mov byte [eax + 0x51d2fe], 2
inc word [0x51d2fc]
pop edi
pop esi
pop ebx
pop ecx
ret
mov ax, word [0x51d2fc]
cmp ax, 8
jge case.0x41b1d3.5
cwde
mov byte [eax + 0x51d2fe], 3
inc word [0x51d2fc]
pop edi
pop esi
pop ebx
pop ecx
ret
mov ax, word [0x51d306]
cmp ax, 8
jge case.0x41b1d3.5
cwde
mov byte [eax + 0x51d308], 0
inc word [0x51d306]
pop edi
pop esi
pop ebx
pop ecx
ret
mov ax, word [0x51d306]
cmp ax, 8
jge case.0x41b1d3.5
cwde
mov byte [eax + 0x51d308], 1
inc word [0x51d306]
pop edi
pop esi
pop ebx
pop ecx
ret
mov ax, word [0x51d306]
cmp ax, 8
jge case.0x41b1d3.5
cwde
mov byte [eax + 0x51d308], 2
inc word [0x51d306]
pop edi
pop esi
pop ebx
pop ecx
ret
mov ax, word [0x51d306]
cmp ax, 8
jge case.0x41b1d3.5
cwde
mov byte [eax + 0x51d308], 3
inc word [0x51d306]
pop edi
pop esi
pop ebx
pop ecx
ret
cmp ebx, 0x1b
jne 0x41b2fa
xor cl, cl
call fcn.00442330
cmp ax, 1
jne case.0x41b1d3.5
mov byte [0x54e4ea], al
pop edi
pop esi
pop ebx
pop ecx
ret
movzx eax, byte [0x552494]
cmp esi, 0x57
cmove eax, edi
mov byte [0x552494], al
cmp ebx, 0x7f
jne 0x41b439
mov al, byte [0x4edf35]
cmp al, 1
je 0x41b32a
cmp al, 4
je 0x41b32a
cmp al, 5
jne 0x41b467
mov byte [0x4edf33], 1
cmp byte [0x4edf31], 0
jne 0x41b331
mov ax, word [0x54e560]
movzx ecx, word [0x54e55c]
mov word [esp + 0xc], ax
movzx eax, word [esp + 0xc]
mov byte [0x4edf33], 0
cmp dword [eax*4 + 0x54e940], 0
je case.0x41b1d3.5
movzx eax, byte [0x54e4b6]
movsx esi, cx
mov ecx, esi
shl ecx, 5
add ecx, eax
movzx eax, word [esp + 0xc]
mov edx, dword [eax*4 + 0x54e940]
lea ecx, [ecx + ecx*4]
add edx, ecx
cmp byte [0x552497], 0
je 0x41b39d
mov dword [edx + 1], 0
mov byte [edx], 0
jmp 0x41b3de
cmp byte [0x552498], 0
je 0x41b3b2
mov word [edx + 2], 0
mov byte [edx + 4], 0
jmp 0x41b3de
cmp byte [0x552499], 0
je 0x41b3c3
mov word [edx + 3], 0
jmp 0x41b3de
mov ax, word [0x54e4b6]
cmp ah, 3
je 0x41b3da
cmp ah, 4
je 0x41b3da
mov word [edx], 0
jmp 0x41b3de
mov byte [edx + 2], 0
mov ecx, dword [esp + 0xc]
call fcn.00427650
movzx eax, word [esp + 0xc]
cmp byte [0x4edf35], 1
movzx ecx, word [eax*2 + 0x54e740]
jne 0x41b41f
cmp cx, 1
jl 0x41b41f
movzx eax, byte [0x54e550]
add eax, esi
movsx ecx, cx
cdq
idiv ecx
push 1
or ecx, 0xffffffff
call fcn.00435130
add esp, 4
mov byte [0x54e642], 1
mov byte [0x54ef62], 1
mov byte [0x54e4e2], 1
pop edi
pop esi
pop ebx
pop ecx
ret
test ch, ch
je 0x41b44d
test dl, dl
jne 0x41b44d
test cl, cl
jne 0x41b44d
lea eax, [esi - 0x1e]
cmp eax, 9
jbe 0x41b456
cmp byte [0x552495], 0
jne 0x41b470
mov edx, ebx
mov ecx, esi
call fcn.0040d800
test al, al
jne case.0x41b1d3.5
cmp byte [0x552495], 0
je 0x41b47f
mov ecx, ebx
call fcn.0041cec0
test al, al
jne case.0x41b1d3.5
pop edi
mov edx, esi
mov ecx, ebx
pop esi
pop ebx
add esp, 4
jmp 0x41b510
sub esp, 0x14
push ebx
mov bh, byte [0x552494]
mov bl, byte [0x552498]
push ebp
push esi
push edi
test bh, bh
je 0x41b543
test bl, bl
jne 0x41b543
cmp edx, 0x53
je 0x41b543
cmp edx, 0x54
je 0x41b543
cmp edx, 0x55
je 0x41b543
cmp edx, 0x56
jne case.0x41bd1a.1073741894
add edx, 0xffffffcb
cmp edx, 0x2e
ja case.0x41b556.54
movzx eax, byte [edx + 0x41ccf0]
jmp dword [eax*4 + 0x41cca8]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0042b530
test bh, bh
je 0x41b577
mov eax, 0x20
lea ecx, [eax + 0x40]
jmp 0x41b5b4
mov al, byte [0x54e4f0]
neg al
sbb al, al
and al, 0x40
jmp 0x41b5be
test bh, bh
je 0x41b592
mov eax, 0x28
lea ecx, [eax + 0x40]
jmp 0x41b5b4
mov eax, 8
lea ecx, [eax + 0x40]
jmp 0x41b5b4
test bh, bh
je 0x41b5aa
mov eax, 0x30
lea ecx, [eax + 0x40]
jmp 0x41b5b4
mov eax, 0x10
mov ecx, 0x50
cmp byte [0x54e4f0], 0
cmovne eax, ecx
mov byte [0x54e527], al
call fcn.00443030
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0042ad30
test bl, bl
je 0x41b63a
mov cx, word [0x5524eb]
cmp cx, 0x10
jl 0x41b5eb
add cx, 0xfff0
jmp 0x41b5ed
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.0x41bd1a.1073741894
cmp byte [0x54e52e], 0
jne case.0x41bd1a.1073741894
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.004065f0
test bh, bh
je 0x41b668
cmp byte [0x54e4f0], 0
mov ecx, 0x78
mov eax, 0x38
cmovne eax, ecx
mov byte [0x54e527], al
call fcn.00443030
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0042ad30
cmp byte [0x54e4f0], 0
je 0x41b689
mov byte [0x54e527], 0x58
call fcn.00443030
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0042ad30
mov byte [0x54e527], 0x18
call fcn.00443030
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0042ad30
test bl, bl
je case.0x41bd1a.1073741894
mov cx, word [0x5524eb]
mov eax, 0xf0
cmp cx, ax
jg 0x41b6c0
add cx, 0x10
jmp 0x41b6c5
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.0x41bd1a.1073741894
cmp byte [0x54e52e], 0
jne case.0x41bd1a.1073741894
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.004065f0
mov al, byte [0x54e52a]
test al, al
je case.0x41bd1a.1073741894
cmp byte [0x552497], 0
movzx eax, al
je 0x41b7ba
mov ecx, dword [eax*4 + 0x54ed40]
test ecx, ecx
je case.0x41bd1a.1073741894
movzx eax, byte [0x54e52c]
imul eax, eax, 0xd8
add eax, 0xdc
add eax, ecx
je case.0x41bd1a.1073741894
cmp dword [eax + 0x1c], 0
je case.0x41bd1a.1073741894
cmp dword [eax + 0x28], 0
jle case.0x41bd1a.1073741894
push 0
push str.Clear_sample_
push str.System_request
push 1
call fcn.00441220
add esp, 0x10
cmp ax, 1
jne case.0x41bd1a.1073741894
movzx edx, byte [0x54e52c]
movzx ecx, byte [0x54e52a]
call fcn.004356a0
call fcn.004141b0
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.0x41bd1a.1073741894
push 0
push str.Clear_instrument_
push str.System_request
push 1
call fcn.00441220
add esp, 0x10
cmp ax, 1
jne case.0x41bd1a.1073741894
movzx ecx, byte [0x54e52a]
call fcn.00435570
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.004141f0
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 0x42b7e0
movzx ecx, byte [0x54e527]
inc cx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b7e0
movzx ecx, byte [0x54e527]
add cx, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b7e0
movzx ecx, byte [0x54e527]
add cx, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b7e0
movzx ecx, byte [0x54e527]
add cx, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b7e0
movzx ecx, byte [0x54e527]
add cx, 5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b7e0
movzx ecx, byte [0x54e527]
add cx, 6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b7e0
movzx ecx, byte [0x54e527]
add cx, 7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b7e0
movzx ecx, byte [0x54e527]
add cx, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b7e0
cmp byte [0x552497], 0
mov al, byte [0x54e550]
je 0x41b918
test al, al
jne 0x41b914
mov byte [0x54e550], 0x10
jmp 0x41b92c
dec al
jmp 0x41b927
cmp al, 0x10
jne 0x41b925
mov byte [0x54e550], 0
jmp 0x41b92c
inc al
mov byte [0x54e550], al
cmp byte [0x54e62b], 0
jne case.0x41bd1a.1073741894
cmp byte [0x54e628], 0
jne case.0x41bd1a.1073741894
cmp byte [0x54e626], 0
jne case.0x41bd1a.1073741894
cmp byte [0x54e62a], 0
jne case.0x41bd1a.1073741894
cmp byte [0x54e627], 0
jne case.0x41bd1a.1073741894
cmp byte [0x54e623], 0
jne case.0x41bd1a.1073741894
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42ac40
test ecx, ecx
je case.0x41bd1a.1073741894
cmp ecx, 0x4000003a
jg 0x41bd01
je 0x41bc97
add ecx, 0xfffffff8
cmp ecx, 0x77
ja case.0x41bd1a.1073741894
movzx eax, byte [ecx + 0x41cd34]
jmp dword [eax*4 + 0x41cd20]
cmp byte [0x54e63c], 0
je case.0x41bd1a.1073741894
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0043a7d0
cmp byte [0x4edf35], 0
jne 0x41ba0c
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.00436370
cmp byte [0x552497], 0
je 0x41ba45
cmp byte [0x54e4b7], 0
jne 0x41ba2f
call fcn.00428680
mov byte [0x54e4b7], 0
mov byte [0x54e642], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
call fcn.004286e0
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 0x41ba75
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x409e70
cmp byte [0x552497], 0
mov byte [0x4edf33], 1
je 0x41bb92
nop dword [eax]
cmp byte [0x4edf31], 0
jne 0x41ba90
mov ax, word [0x54e560]
movzx ecx, word [0x54e55c]
mov word [esp + 0x10], ax
mov edx, ecx
mov al, byte [0x4edf35]
mov byte [0x4edf33], 0
cmp al, 1
je 0x41bac9
cmp al, 5
je 0x41bac9
cmp al, 4
jne case.0x41bd1a.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 0x41bb6e
test esi, esi
je 0x41bb5f
dec ecx
movsx ebp, bx
movsx eax, cx
mov word [0x54fc1a], cx
mov word [0x54e55c], cx
lea edx, [ebp - 1]
cmp eax, edx
jge 0x41bb3a
lea edi, [eax + eax*4]
shl edi, 5
add edi, esi
sub edx, eax
nop dword [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 0x41bb20
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.00484630
add esp, 0xc
jmp 0x41bb6e
lea eax, [ecx - 1]
mov word [0x54fc1a], ax
mov word [0x54e55c], ax
cmp byte [0x55258f], 0
je 0x41bb89
cmp bx, 1
jle 0x41bb89
mov ecx, dword [esp + 0x10]
lea edx, [ebx - 1]
call fcn.00432a10
mov ecx, dword [esp + 0x10]
jmp 0x41bc75
cmp byte [0x4edf31], 0
jne 0x41bb92
mov ax, word [0x54e560]
movzx ecx, word [0x54e55c]
mov word [esp + 0x14], ax
mov edx, ecx
mov al, byte [0x4edf35]
mov byte [0x4edf33], 0
cmp al, 1
je 0x41bbcb
cmp al, 5
je 0x41bbcb
cmp al, 4
jne case.0x41bd1a.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 0x41bc71
test ebx, ebx
je 0x41bc62
dec ecx
movsx edi, si
movsx ebp, cx
mov word [0x54fc1a], cx
mov word [0x54e55c], cx
lea esi, [edi - 1]
cmp ebp, esi
jge 0x41bc42
movzx eax, byte [0x54e4b6]
mov ecx, ebp
shl ecx, 5
add ecx, eax
lea edx, [ebx + ecx*4]
add edx, ecx
sub esi, ebp
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 0x41bc22
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 0x41bc71
lea eax, [ecx - 1]
mov word [0x54fc1a], ax
mov word [0x54e55c], ax
mov ecx, dword [esp + 0x14]
call fcn.00427650
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 [0x552497], 0
je 0x41bcb7
push 1
or dl, 0xff
xor cl, cl
call fcn.0040e940
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test bl, bl
je 0x41bcd2
push 1
or dl, 0xff
mov cl, 1
call fcn.0040e940
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552499], 0
je 0x41bcf2
push 1
or dl, 0xff
mov cl, 3
call fcn.0040e940
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.0x41bd1a.1073741894
movzx eax, byte [ecx + 0x41ce0c]
jmp dword [eax*4 + 0x41cdac]
xor edx, edx
mov cl, 5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.004361f0
xor edx, edx
mov cl, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.004361f0
test bl, bl
jne case.0x41bd1a.1073741894
xor edx, edx
mov cl, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.004361f0
mov al, byte [0x54e4b7]
add al, 0xff
cmp byte [0x552508], 0
mov byte [0x54e4b7], al
jne 0x41bd81
nop
cmp al, 3
je 0x41bd78
cmp al, 4
jne 0x41bd7c
add al, 0xff
jmp 0x41bd70
mov byte [0x54e4b7], al
cmp al, 0xff
jne 0x41bdd6
mov byte [0x54e4b7], 7
call fcn.00428680
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 0x41bdc6
cmp al, 3
je 0x41bdbd
cmp al, 4
jne 0x41bdc1
add al, 1
jmp 0x41bdb5
mov byte [0x54e4b7], al
cmp al, 8
jne 0x41bdd6
mov byte [0x54e4b7], 0
call fcn.004286e0
mov byte [0x54e642], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552497], 0
je 0x41be04
push 1
mov dl, 1
xor cl, cl
call fcn.0040e940
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test bl, bl
je 0x41be1e
mov dl, 1
push 1
mov cl, dl
call fcn.0040e940
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552499], 0
je 0x41be3d
push 1
mov dl, 1
mov cl, 3
call fcn.0040e940
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 [0x552497], 0
je 0x41bf92
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.0x41bd1a.1073741894
movzx eax, word [esp + 0x14]
cmp byte [0x55259c], 0
movzx edi, word [eax*2 + 0x54e740]
je 0x41bf45
push 0x500
push 0
push 0x5008d0
call fcn.00484630
xor eax, eax
add esp, 0xc
cmp ax, di
jge 0x41bf3e
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 0x41bf24
cmp byte [0x54e517], 0
je 0x41bef8
mov al, byte [ecx - 2]
mov byte [edx - 2], al
cmp byte [0x54e518], 0
je 0x41bf07
mov al, byte [ecx - 1]
mov byte [edx - 1], al
cmp byte [0x54e519], 0
je 0x41bf14
mov al, byte [ecx]
mov byte [edx], al
test bh, bh
je 0x41bf1e
mov al, byte [ecx + 1]
mov byte [edx + 1], al
test bl, bl
je 0x41bf30
jmp 0x41bf2a
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 0x41bee0
mov word [0x50add8], di
cmp byte [0x4edf31], 0
jne 0x41bf45
xor eax, eax
cmp ax, di
jge 0x41c111
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 0x41bf70
mov byte [0x4edf33], al
jmp 0x41bc71
test bl, bl
je 0x41c11d
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.0x41bd1a.1073741894
movzx eax, word [esp + 0x14]
cmp byte [0x55259c], 0
movzx ebp, word [eax*2 + 0x54e740]
je 0x41c0c3
push 0xa000
push 0
push 0x4f68d0
call fcn.00484630
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x10], ecx
cmp dword [0x54fc2c], ecx
jle 0x41c0bc
xor eax, eax
nop
xor edx, edx
cmp dx, bp
jge 0x41c0a8
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 0x41c084
cmp byte [0x54e517], 0
je 0x41c047
mov al, byte [ecx - 2]
mov byte [edx], al
cmp byte [0x54e518], 0
je 0x41c056
mov al, byte [ecx - 1]
mov byte [edx + 1], al
cmp byte [0x54e519], 0
je 0x41c064
mov al, byte [ecx]
mov byte [edx + 2], al
cmp byte [0x54e51a], 0
je 0x41c073
mov al, byte [ecx + 1]
mov byte [ecx + edi], al
cmp byte [0x54e51b], 0
je 0x41c08f
mov al, byte [ecx + 2]
mov byte [ecx + ebx], al
jmp 0x41c08f
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 0x41c030
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 0x41c000
mov word [0x50add4], bp
cmp byte [0x4edf31], 0
jne 0x41c0c3
mov eax, dword [0x54fc2c]
xor edx, edx
test eax, eax
jle 0x41c111
xor ecx, ecx
nop dword [eax]
xor edi, edi
cmp di, bp
jge 0x41c109
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 0x41c0f0
mov eax, dword [0x54fc2c]
inc edx
movsx ecx, dx
cmp ecx, eax
jl 0x41c0e0
mov byte [0x4edf33], 0
jmp 0x41bc71
cmp byte [0x552499], 0
je 0x41c132
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x40f160
mov byte [0x54e551], 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552497], 0
je 0x41c22d
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.0x41bd1a.1073741894
push 0x500
push 0
push 0x5008d0
call fcn.00484630
movzx eax, word [esp + 0x1c]
add esp, 0xc
movzx edi, word [eax*2 + 0x54e740]
xor eax, eax
cmp ax, di
jge 0x41c21e
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 0x41c204
cmp byte [0x54e517], 0
je 0x41c1d8
mov al, byte [ecx - 2]
mov byte [edx - 2], al
cmp byte [0x54e518], 0
je 0x41c1e7
mov al, byte [ecx - 1]
mov byte [edx - 1], al
cmp byte [0x54e519], 0
je 0x41c1f4
mov al, byte [ecx]
mov byte [edx], al
test bh, bh
je 0x41c1fe
mov al, byte [ecx + 1]
mov byte [edx + 1], al
test bl, bl
je 0x41c210
jmp 0x41c20a
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 0x41c1c0
mov word [0x50add8], di
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test bl, bl
je 0x41c357
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.0x41bd1a.1073741894
push 0xa000
push 0
push 0x4f68d0
call fcn.00484630
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 0x41c348
xor eax, eax
nop dword [eax]
xor ecx, ecx
cmp cx, si
jge 0x41c338
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 0x41c314
cmp byte [0x54e517], 0
je 0x41c2d7
mov al, byte [ecx - 2]
mov byte [edx], al
cmp byte [0x54e518], 0
je 0x41c2e6
mov al, byte [ecx - 1]
mov byte [edx + 1], al
cmp byte [0x54e519], 0
je 0x41c2f4
mov al, byte [ecx]
mov byte [edx + 2], al
cmp byte [0x54e51a], 0
je 0x41c303
mov al, byte [ecx + 1]
mov byte [ecx + edi], al
cmp byte [0x54e51b], 0
je 0x41c31f
mov al, byte [ecx + 2]
mov byte [ecx + ebx], al
jmp 0x41c31f
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 0x41c2c0
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
inc ebp
movsx eax, bp
cmp eax, dword [0x54fc2c]
jl 0x41c290
mov word [0x50add4], si
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552499], 0
je 0x41c36c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x40f350
mov byte [0x54e551], 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552497], 0
je 0x41c418
cmp word [0x50add8], 0
mov ax, word [0x54e560]
mov word [esp + 0x10], ax
je case.0x41bd1a.1073741894
mov ecx, dword [esp + 0x10]
call fcn.004275a0
test al, al
je case.0x41bd1a.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 0x41c3d0
xor eax, eax
cmp ax, si
jge 0x41c506
movzx eax, byte [0x54e4b6]
mov ecx, 0x5008d0
lea edx, [edx + eax*4]
add edx, eax
call fcn.0040f0c0
add edx, 0xa0
add ecx, 5
sub esi, 1
jne 0x41c3f5
mov ecx, dword [esp + 0x10]
mov byte [0x4edf33], 0
jmp 0x41bc75
test bl, bl
je 0x41c516
cmp word [0x50add4], 0
mov ax, word [0x54e560]
mov word [esp + 0x10], ax
je case.0x41bd1a.1073741894
movzx eax, word [esp + 0x10]
movsx ecx, word [eax*2 + 0x54e740]
movzx eax, word [0x50add4]
cmp ecx, eax
je 0x41c47d
push 0
push str.Adjust_pattern_length_to_match_copied_pattern_length_
push str.System_request
push 2
call fcn.00441220
add esp, 0x10
cmp ax, 1
jne 0x41c47d
mov dx, word [0x50add4]
mov ecx, dword [esp + 0x10]
call fcn.00432a10
mov ecx, dword [esp + 0x10]
call fcn.004275a0
test al, al
je case.0x41bd1a.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 0x41c4b0
mov ecx, dword [0x54fc2c]
xor ebx, ebx
test ecx, ecx
jle 0x41c506
xor eax, eax
xor esi, esi
cmp si, bp
jge 0x41c4fe
lea ecx, [eax*4 + 0x4f68d0]
mov edi, edx
add ecx, eax
mov esi, ebp
sub edi, 0x4f68d0
lea edx, [edi + ecx]
call fcn.0040f0c0
add ecx, 0xa0
sub esi, 1
jne 0x41c4e1
mov ecx, dword [0x54fc2c]
mov edx, dword [esp + 0x18]
inc ebx
movsx eax, bx
cmp eax, ecx
jl 0x41c4c7
mov ecx, dword [esp + 0x10]
mov byte [0x4edf33], 0
jmp 0x41bc75
cmp byte [0x552499], 0
je 0x41c667
mov byte [0x4edf33], 1
nop word [eax + eax]
cmp byte [0x4edf31], 0
jne 0x41c530
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.0x41bd1a.1073741894
mov ecx, dword [esp + 0x14]
call fcn.004275a0
test al, al
je case.0x41bd1a.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 0x41c59f
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 0x41c5bc
mov edx, ecx
sub edx, ebp
mov ecx, dword [0x50add0]
mov esi, edi
sub esi, ebx
lea eax, [ecx + ebx]
cmp eax, edi
cmovle esi, ecx
mov dword [esp + 0x10], esi
test edx, edx
jle 0x41bc71
test esi, esi
jle 0x41bc71
movzx eax, word [esp + 0x14]
mov eax, dword [eax*4 + 0x54e940]
mov dword [esp + 0x18], eax
cmp byte [0x4edf31], 0
jne 0x41c5f2
lea eax, [edx + ebp]
mov edi, ebp
mov dword [esp + 0x1c], eax
cmp ebp, eax
jge 0x41c111
lea ecx, [ebx + esi]
mov dword [esp + 0x20], ecx
cmp ebx, ecx
jge 0x41c656
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.0040f0c0
add edx, 0xa0
add ecx, 0xa0
sub esi, 1
jne 0x41c634
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
inc edi
cmp edi, eax
jl 0x41c613
mov byte [0x4edf33], 0
jmp 0x41bc71
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 [0x552497], 0
je 0x41c6a5
push 0
or dl, 0xff
xor cl, cl
call fcn.0040e940
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test bl, bl
je 0x41c6c0
push 0
or dl, 0xff
mov cl, 1
call fcn.0040e940
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552499], 0
je 0x41c6e0
push 0
or dl, 0xff
mov cl, 3
call fcn.0040e940
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 [0x552497], 0
je 0x41c70e
push 0
mov dl, 1
xor cl, cl
call fcn.0040e940
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test bl, bl
je 0x41c728
mov dl, 1
push 0
mov cl, dl
call fcn.0040e940
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552499], 0
je 0x41c6e0
push 0
mov dl, 1
mov cl, 3
call fcn.0040e940
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov ecx, dword [0x78b4d8]
test ecx, ecx
je 0x41c761
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 0x41c78f
mov eax, dword [0x54fc1c]
dec eax
mov word [0x54fc1a], ax
movzx edx, ax
cmp byte [0x4edf32], 0
jne 0x41cc89
movzx eax, dl
mov word [0x54e55c], ax
mov byte [0x54e642], 1
jmp 0x41cc89
mov ecx, dword [0x78b4d8]
test ecx, ecx
je 0x41c7cb
push ecx
call dword [sym.imp.SDL2.dll_SDL_LockAudioDevice]
mov ecx, dword [0x78b4d8]
add esp, 4
movzx eax, byte [0x54e555]
jmp 0x41c768
mov ecx, dword [0x78b4d8]
test ecx, ecx
je 0x41c7ee
push ecx
call dword [sym.imp.SDL2.dll_SDL_LockAudioDevice]
mov ecx, dword [0x78b4d8]
add esp, 4
movzx eax, byte [0x54e556]
jmp 0x41c768
mov ecx, dword [0x78b4d8]
test ecx, ecx
je 0x41c814
push ecx
call dword [sym.imp.SDL2.dll_SDL_LockAudioDevice]
mov ecx, dword [0x78b4d8]
add esp, 4
movzx eax, byte [0x54e557]
jmp 0x41c768
cmp byte [0x552497], 0
je 0x41c90d
mov byte [0x4edf33], 1
cmp byte [0x4edf31], 0
jne 0x41c834
mov ax, word [0x54e560]
movzx ebp, word [0x54e55c]
mov word [esp + 0x10], ax
mov al, byte [0x4edf35]
mov byte [0x4edf33], 0
cmp al, 1
je 0x41c86b
cmp al, 5
je 0x41c86b
cmp al, 4
jne case.0x41bd1a.1073741894
movzx eax, word [esp + 0x10]
movzx edx, byte [0x55258f]
mov ecx, dword [esp + 0x10]
add dx, word [eax*2 + 0x54e740]
call fcn.00432a10
movzx eax, word [esp + 0x10]
mov ebx, dword [eax*4 + 0x54e940]
test ebx, ebx
je 0x41bc7a
movzx eax, word [esp + 0x10]
movzx eax, word [eax*2 + 0x54e740]
cmp ax, 1
jle 0x41c8e9
movsx edx, ax
movsx ecx, bp
sub edx, 2
cmp edx, ecx
jl 0x41c8e9
lea eax, [edx + edx*4]
sub edx, ecx
shl eax, 5
add eax, ebx
inc edx
nop word [eax + eax]
mov esi, eax
lea edi, [eax + 0xa0]
mov ecx, 0xa0
sub eax, 0xa0
rep movsb byte es:[edi], byte [esi]
sub edx, 1
jne 0x41c8d0
movsx eax, bp
push 0xa0
push 0
lea eax, [eax + eax*4]
shl eax, 5
add eax, ebx
push eax
call fcn.00484630
mov ecx, dword [esp + 0x1c]
add esp, 0xc
jmp 0x41bc75
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x40e4a0
cmp byte [0x552497], 0
je 0x41c92e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.00436a80
cmp byte [0x552499], 0
je 0x41c9e4
movsx dx, byte [0x54e4b6]
movzx ecx, word [0x54e55c]
cmp dx, word [0x550b40]
je 0x41c97a
cmp dx, word [0x550b42]
je 0x41c97a
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 0x41c9a1
mov word [0x550b44], cx
call fcn.00428f20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x4294a0
cmp cx, word [0x550b46]
jne 0x41c9af
lea eax, [esi - 1]
jmp 0x41c9d9
cmp cx, word [0x550b44]
je 0x41c9df
cmp cx, word [0x550b46]
je 0x41c9df
mov word [0x550b40], dx
lea eax, [esi + 1]
mov word [0x550b42], dx
mov word [0x550b44], cx
mov word [0x550b46], ax
call fcn.00428f20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x4294a0
cmp byte [0x552497], 0
je 0x41ca05
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.00436b20
cmp byte [0x552499], 0
je 0x41cab8
movsx dx, byte [0x54e4b6]
movzx ecx, word [0x54e55c]
cmp dx, word [0x550b40]
je 0x41ca51
cmp dx, word [0x550b42]
je 0x41ca51
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 0x41caaa
movsx eax, word [0x550b44]
dec eax
cmp esi, eax
jne 0x41ca83
lea eax, [esi + 2]
mov word [0x550b44], ax
call fcn.00428f20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x429530
cmp cx, word [0x550b44]
je 0x41cab3
cmp cx, word [0x550b46]
je 0x41cab3
mov word [0x550b40], dx
mov word [0x550b42], dx
mov word [0x550b44], cx
lea eax, [esi + 1]
mov word [0x550b46], ax
call fcn.00428f20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x429530
mov al, byte [0x789f64]
mov edx, dword [0x78b4d8]
test al, al
sete byte [esp + 0x10]
test al, al
jne 0x41caf5
test edx, edx
je 0x41caee
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 0x41cb12
xor eax, eax
mov word [0x54fc1a], ax
cmp byte [0x4edf32], 0
jne 0x41cb36
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.0x41bd1a.1073741894
test edx, edx
je 0x41cc97
push edx
jmp 0x41cc8e
mov al, byte [0x789f64]
mov edx, dword [0x78b4d8]
test al, al
sete bl
test al, al
jne 0x41cb7e
test edx, edx
je 0x41cb77
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 0x41cbab
mov eax, dword [0x54fc1c]
dec eax
mov word [0x54fc1a], ax
movzx eax, ax
cmp byte [0x4edf32], 0
jne 0x41cbc4
movzx eax, al
mov word [0x54e55c], ax
mov byte [0x54e642], 1
test bl, bl
je case.0x41bd1a.1073741894
test edx, edx
je 0x41cc97
push edx
jmp 0x41cc8e
mov al, byte [0x789f64]
test al, al
sete bl
test al, al
mov eax, dword [0x78b4d8]
jne 0x41cc07
test eax, eax
je 0x41cc00
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 0x41cc26
mov word [0x54e55c], cx
mov byte [0x54e642], 1
test bl, bl
je case.0x41bd1a.1073741894
test eax, eax
je 0x41cc97
push eax
jmp 0x41cc8e
mov al, byte [0x789f64]
mov ecx, dword [0x78b4d8]
test al, al
sete bl
test al, al
jne 0x41cc60
test ecx, ecx
je 0x41cc59
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 0x41cc85
movzx eax, al
mov word [0x54e55c], ax
mov byte [0x54e642], 1
test bl, bl
je case.0x41bd1a.1073741894
test ecx, ecx
je 0x41cc97
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 0x4294d1
test esi, esi
je 0x4294ca
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 0x42950e
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 0x42950e
movzx eax, al
mov word [0x54e55c], ax
mov byte [0x54e642], 1
test bl, bl
je 0x429527
test esi, esi
je 0x429520
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 0x429561
test esi, esi
je 0x42955a
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 0x429577
mov eax, 2
mov word [0x54fc2a], ax
jmp 0x4295ab
mov ax, word [0x54fc1c]
test ax, ax
jle 0x4295ab
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 0x4295c4
test esi, esi
je 0x4295bd
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 + 0x4bf020]
push 4
push ecx
lea ecx, [edx + 0x58]
call fcn.00411090
add esp, 0xc
ret
push ecx
mov eax, 0x80
cmp cx, ax
jg 0x42b800
mov byte [0x54e52a], cl
call fcn.00443030
call fcn.0042ad30
call fcn.004141f0
pop ecx
ret