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

Disassembly:
push 0x4de730
call fcn.0048b495
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, 8
mov byte [0x4edf33], 1
nop word [eax + eax]
cmp byte [0x4edf31], 0
jne 0x40e3f0
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 0x40e42a
cmp al, 5
je 0x40e42a
cmp al, 4
jne 0x40e56c
movzx eax, word [esp]
push ebx
mov ebx, dword [eax*4 + 0x54e940]
test ebx, ebx
je 0x40e56b
movzx eax, word [esp + 4]
push esi
push edi
movzx ecx, word [eax*2 + 0x54e740]
mov ax, word [0x54e4b6]
cmp cx, 1
jle 0x40e4a4
movsx edi, cx
push ebp
movsx ebp, dx
sub edi, 2
cmp edi, ebp
jl 0x40e4a3
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 0x40e480
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 0x40e4f5
test ecx, ecx
je 0x40e4ee
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 0x40e53b
movsx eax, word [edi*2 + 0x54e740]
lea esi, [eax + eax*4]
xor eax, eax
shl esi, 5
test esi, esi
je 0x40e521
cmp byte [eax + edx], 0
jne 0x40e53b
inc eax
cmp eax, esi
jb 0x40e516
push edx
call fcn.00488d73
mov ecx, dword [0x78b4d8]
add esp, 4
mov dword [edi*4 + 0x54e940], 0
pop edi
pop esi
test bl, bl
je 0x40e556
test ecx, ecx
je 0x40e54f
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 0x40f0b0
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 0x40f28a
mov eax, dword [esp + 0xc]
cmp dword [esp], eax
jg 0x40f28a
mov eax, dword [0x54fc2c]
dec eax
cmp dword [esp + 8], eax
mov ecx, dword [0x54fc2c]
jle 0x40f136
lea eax, [ecx - 1]
mov dword [esp + 8], eax
lea eax, [ecx - 1]
cmp dword [esp + 4], eax
jle 0x40f149
mov eax, dword [0x54fc2c]
dec eax
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
cmp eax, dword [esp + 8]
jge 0x40f15b
mov eax, dword [esp + 8]
mov dword [esp + 4], eax
movsx ecx, dx
cmp dword [esp], ecx
jl 0x40f169
lea eax, [ecx - 1]
mov dword [esp], eax
cmp dword [esp + 0xc], ecx
jle 0x40f178
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 0x40f289
cmp dword [esp + 4], 0
jl 0x40f289
cmp dword [esp + 0xc], 0
jl 0x40f289
cmp dword [esp + 8], 0
jl 0x40f289
cmp dword [esp + 0x10], 0
jl 0x40f289
nop dword [eax]
cmp byte [0x4edf31], 0
jne 0x40f1c0
push edi
mov edi, dword [esp + 0x10]
cmp edi, dword [esp + 0xc]
jg 0x40f239
push esi
mov esi, dword [esp + 0xc]
cmp esi, dword [esp + 0x18]
jge 0x40f231
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 0x40f21a
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.0040efa0
mov dword [ecx], 0
inc esi
mov byte [ecx + 4], 0
add ecx, 0xa0
cmp esi, dword [esp + 0x18]
jl 0x40f1f0
inc edi
cmp edi, dword [esp + 0x10]
jle 0x40f1d5
pop esi
mov ecx, dword [esp + 0x18]
mov byte [0x4edf33], 0
call fcn.00427450
cmp byte [0x55259c], 0
pop edi
je 0x40f274
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 0x40f2a0
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 0x40f43c
mov eax, dword [esp + 0x10]
cmp dword [esp + 4], eax
jg 0x40f43c
mov eax, dword [0x54fc2c]
dec eax
cmp dword [esp + 0xc], eax
mov ecx, dword [0x54fc2c]
jle 0x40f327
lea eax, [ecx - 1]
mov dword [esp + 0xc], eax
lea eax, [ecx - 1]
cmp dword [esp + 8], eax
jle 0x40f33a
mov eax, dword [0x54fc2c]
dec eax
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0xc]
jge 0x40f34c
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
movsx ecx, dx
cmp dword [esp + 4], ecx
jl 0x40f35c
lea eax, [ecx - 1]
mov dword [esp + 4], eax
cmp dword [esp + 0x10], ecx
jle 0x40f36c
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 0x40f43b
cmp dword [esp + 8], 0
jl 0x40f43b
cmp dword [esp + 0x10], 0
jl 0x40f43b
cmp dword [esp + 0xc], 0
jl 0x40f43b
cmp dword [esp + 0x14], 0
jl 0x40f43b
push ebx
mov ebx, dword [esp + 0x14]
cmp ebx, dword [esp + 0x10]
jg 0x40f419
push esi
push edi
nop dword [eax]
mov esi, dword [esp + 0x14]
cmp esi, dword [esp + 0x20]
jge 0x40f410
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.0040efa0
inc esi
add edi, 0xa0
cmp esi, dword [esp + 0x20]
jl 0x40f3e0
inc ebx
cmp ebx, dword [esp + 0x18]
jle 0x40f3c0
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.0x41b123.5
cmp byte [0x550b68], 0
je 0x41af20
xor cl, cl
call fcn.00422e20
cmp byte [0x54e624], 0
je 0x41af4f
cmp ebx, 0xd
jne 0x41af3a
mov byte [0x54e622], 1
pop edi
pop esi
pop ebx
pop ecx
ret
cmp ebx, 0x1b
jne case.0x41b123.5
mov byte [0x54e624], 0
pop edi
pop esi
pop ebx
pop ecx
ret
mov ch, byte [0x552487]
mov dl, byte [0x552489]
mov cl, byte [0x552488]
test ch, ch
je 0x41b01f
test cl, cl
je 0x41b01f
test dl, dl
je 0x41b01f
mov dl, byte [0x54e511]
test dl, dl
je 0x41af8c
mov esi, str.skip
mov ch, 4
jmp 0x41af93
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 0x41afb3
mov byte [0x51d2ea], 0
pop edi
pop esi
pop ebx
pop ecx
ret
inc cl
mov byte [0x51d2ea], cl
cmp cl, ch
jne case.0x41b123.5
mov byte [0x51d2ea], 0
test dl, dl
je 0x41afd9
pop edi
pop esi
pop ebx
add esp, 4
jmp fcn.00425390
mov al, byte [0x50adf7]
xor al, 1
push 0
setne byte [0x50adf7]
test al, al
je 0x41b006
push str.Eternal_lives_activated_
push str.Triton_productions_declares:
push 0
call fcn.00440fc0
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.00440fc0
add esp, 0x10
pop edi
pop esi
pop ebx
pop ecx
ret
cmp byte [esp + 0x14], 0
mov dh, byte [0x54e511]
mov al, byte [0x552480]
je 0x41b041
test dh, dh
jne case.0x41b123.5
test al, al
je case.0x41b123.5
cmp esi, 0x29
movzx eax, al
mov edi, 1
cmovne eax, edi
cmp byte [0x54e4eb], 0
mov byte [0x552480], al
je 0x41b06a
mov ecx, ebx
pop edi
pop esi
pop ebx
add esp, 4
jmp fcn.004432c0
test dh, dh
je 0x41b22e
cmp esi, 0x29
jne 0x41b110
push 0
push str.Quit_current_game_of_Nibbles_
push str.System_request
push 2
call fcn.00440fc0
add esp, 0x10
cmp ax, 1
jne case.0x41b123.5
mov byte [0x54e511], 0
call fcn.00425f20
cmp byte [0x54e626], 0
mov byte [0x54e629], 0
je 0x41b0c2
pop edi
pop esi
pop ebx
add esp, 4
jmp fcn.00401650
cmp byte [0x54e628], 0
je 0x41b0d6
pop edi
pop esi
pop ebx
add esp, 4
jmp fcn.004065c0
cmp byte [0x54e627], 0
je 0x41b0ea
pop edi
pop esi
pop ebx
add esp, 4
jmp fcn.004132b0
cmp byte [0x54e62b], 0
je 0x41b0fe
pop edi
pop esi
pop ebx
add esp, 4
jmp fcn.00425ad0
mov cl, 1
call fcn.00411ac0
pop edi
pop esi
pop ebx
add esp, 4
jmp fcn.004123c0
add esi, 0xfffffffc
cmp esi, 0x4e
ja case.0x41b123.5
movzx eax, byte [esi + 0x41b404]
jmp dword [eax*4 + 0x41b3e0]
mov ax, word [0x51d2fc]
cmp ax, 8
jge case.0x41b123.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.0x41b123.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.0x41b123.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.0x41b123.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.0x41b123.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.0x41b123.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.0x41b123.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.0x41b123.5
cwde
mov byte [eax + 0x51d308], 3
inc word [0x51d306]
pop edi
pop esi
pop ebx
pop ecx
ret
cmp ebx, 0x1b
jne 0x41b24a
xor cl, cl
call fcn.004420c0
cmp ax, 1
jne case.0x41b123.5
mov byte [0x54e4ea], al
pop edi
pop esi
pop ebx
pop ecx
ret
movzx eax, byte [0x552484]
cmp esi, 0x57
cmove eax, edi
mov byte [0x552484], al
cmp ebx, 0x7f
jne 0x41b389
mov al, byte [0x4edf35]
cmp al, 1
je 0x41b27a
cmp al, 4
je 0x41b27a
cmp al, 5
jne 0x41b3b7
mov byte [0x4edf33], 1
cmp byte [0x4edf31], 0
jne 0x41b281
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.0x41b123.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 [0x552487], 0
je 0x41b2ed
mov dword [edx + 1], 0
mov byte [edx], 0
jmp 0x41b32e
cmp byte [0x552488], 0
je 0x41b302
mov word [edx + 2], 0
mov byte [edx + 4], 0
jmp 0x41b32e
cmp byte [0x552489], 0
je 0x41b313
mov word [edx + 3], 0
jmp 0x41b32e
mov ax, word [0x54e4b6]
cmp ah, 3
je 0x41b32a
cmp ah, 4
je 0x41b32a
mov word [edx], 0
jmp 0x41b32e
mov byte [edx + 2], 0
mov ecx, dword [esp + 0xc]
call fcn.00427450
movzx eax, word [esp + 0xc]
cmp byte [0x4edf35], 1
movzx ecx, word [eax*2 + 0x54e740]
jne 0x41b36f
cmp cx, 1
jl 0x41b36f
movzx eax, byte [0x54e550]
add eax, esi
movsx ecx, cx
cdq
idiv ecx
push 1
or ecx, 0xffffffff
call fcn.00434f10
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 0x41b39d
test dl, dl
jne 0x41b39d
test cl, cl
jne 0x41b39d
lea eax, [esi - 0x1e]
cmp eax, 9
jbe 0x41b3a6
cmp byte [0x552485], 0
jne 0x41b3c0
mov edx, ebx
mov ecx, esi
call fcn.0040d740
test al, al
jne case.0x41b123.5
cmp byte [0x552485], 0
je 0x41b3cf
mov ecx, ebx
call fcn.0041ce10
test al, al
jne case.0x41b123.5
pop edi
mov edx, esi
mov ecx, ebx
pop esi
pop ebx
add esp, 4
jmp 0x41b460
sub esp, 0x14
push ebx
mov bh, byte [0x552484]
mov bl, byte [0x552488]
push ebp
push esi
push edi
test bh, bh
je 0x41b493
test bl, bl
jne 0x41b493
cmp edx, 0x53
je 0x41b493
cmp edx, 0x54
je 0x41b493
cmp edx, 0x55
je 0x41b493
cmp edx, 0x56
jne case.0x41bc6a.1073741894
add edx, 0xffffffcb
cmp edx, 0x2e
ja case.0x41b4a6.54
movzx eax, byte [edx + 0x41cc40]
jmp dword [eax*4 + 0x41cbf8]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0042b330
test bh, bh
je 0x41b4c7
mov eax, 0x20
lea ecx, [eax + 0x40]
jmp 0x41b504
mov al, byte [0x54e4f0]
neg al
sbb al, al
and al, 0x40
jmp 0x41b50e
test bh, bh
je 0x41b4e2
mov eax, 0x28
lea ecx, [eax + 0x40]
jmp 0x41b504
mov eax, 8
lea ecx, [eax + 0x40]
jmp 0x41b504
test bh, bh
je 0x41b4fa
mov eax, 0x30
lea ecx, [eax + 0x40]
jmp 0x41b504
mov eax, 0x10
mov ecx, 0x50
cmp byte [0x54e4f0], 0
cmovne eax, ecx
mov byte [0x54e527], al
call fcn.00442dc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0042ab30
test bl, bl
je 0x41b58a
mov cx, word [0x5524eb]
cmp cx, 0x10
jl 0x41b53b
add cx, 0xfff0
jmp 0x41b53d
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.0x41bc6a.1073741894
cmp byte [0x54e52e], 0
jne case.0x41bc6a.1073741894
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.004065c0
test bh, bh
je 0x41b5b8
cmp byte [0x54e4f0], 0
mov ecx, 0x78
mov eax, 0x38
cmovne eax, ecx
mov byte [0x54e527], al
call fcn.00442dc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0042ab30
cmp byte [0x54e4f0], 0
je 0x41b5d9
mov byte [0x54e527], 0x58
call fcn.00442dc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0042ab30
mov byte [0x54e527], 0x18
call fcn.00442dc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0042ab30
test bl, bl
je case.0x41bc6a.1073741894
mov cx, word [0x5524eb]
mov eax, 0xf0
cmp cx, ax
jg 0x41b610
add cx, 0x10
jmp 0x41b615
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.0x41bc6a.1073741894
cmp byte [0x54e52e], 0
jne case.0x41bc6a.1073741894
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.004065c0
mov al, byte [0x54e52a]
test al, al
je case.0x41bc6a.1073741894
cmp byte [0x552487], 0
movzx eax, al
je 0x41b70a
mov ecx, dword [eax*4 + 0x54ed40]
test ecx, ecx
je case.0x41bc6a.1073741894
movzx eax, byte [0x54e52c]
imul eax, eax, 0xd8
add eax, 0xdc
add eax, ecx
je case.0x41bc6a.1073741894
cmp dword [eax + 0x1c], 0
je case.0x41bc6a.1073741894
cmp dword [eax + 0x28], 0
jle case.0x41bc6a.1073741894
push 0
push str.Clear_sample_
push str.System_request
push 1
call fcn.00440fc0
add esp, 0x10
cmp ax, 1
jne case.0x41bc6a.1073741894
movzx edx, byte [0x54e52c]
movzx ecx, byte [0x54e52a]
call fcn.00435480
call fcn.00414120
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.0x41bc6a.1073741894
push 0
push str.Clear_instrument_
push str.System_request
push 1
call fcn.00440fc0
add esp, 0x10
cmp ax, 1
jne case.0x41bc6a.1073741894
movzx ecx, byte [0x54e52a]
call fcn.00435350
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.00414160
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 0x42b5e0
movzx ecx, byte [0x54e527]
inc cx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b5e0
movzx ecx, byte [0x54e527]
add cx, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b5e0
movzx ecx, byte [0x54e527]
add cx, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b5e0
movzx ecx, byte [0x54e527]
add cx, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b5e0
movzx ecx, byte [0x54e527]
add cx, 5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b5e0
movzx ecx, byte [0x54e527]
add cx, 6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b5e0
movzx ecx, byte [0x54e527]
add cx, 7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b5e0
movzx ecx, byte [0x54e527]
add cx, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42b5e0
cmp byte [0x552487], 0
mov al, byte [0x54e550]
je 0x41b868
test al, al
jne 0x41b864
mov byte [0x54e550], 0x10
jmp 0x41b87c
dec al
jmp 0x41b877
cmp al, 0x10
jne 0x41b875
mov byte [0x54e550], 0
jmp 0x41b87c
inc al
mov byte [0x54e550], al
cmp byte [0x54e62b], 0
jne case.0x41bc6a.1073741894
cmp byte [0x54e628], 0
jne case.0x41bc6a.1073741894
cmp byte [0x54e626], 0
jne case.0x41bc6a.1073741894
cmp byte [0x54e62a], 0
jne case.0x41bc6a.1073741894
cmp byte [0x54e627], 0
jne case.0x41bc6a.1073741894
cmp byte [0x54e623], 0
jne case.0x41bc6a.1073741894
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x42aa40
test ecx, ecx
je case.0x41bc6a.1073741894
cmp ecx, 0x4000003a
jg 0x41bc51
je 0x41bbe7
add ecx, 0xfffffff8
cmp ecx, 0x77
ja case.0x41bc6a.1073741894
movzx eax, byte [ecx + 0x41cc84]
jmp dword [eax*4 + 0x41cc70]
cmp byte [0x54e63c], 0
je case.0x41bc6a.1073741894
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.0043a5a0
cmp byte [0x4edf35], 0
jne 0x41b95c
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.00436150
cmp byte [0x552487], 0
je 0x41b995
cmp byte [0x54e4b7], 0
jne 0x41b97f
call fcn.00428470
mov byte [0x54e4b7], 0
mov byte [0x54e642], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
call fcn.004284d0
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 0x41b9c5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x409db0
cmp byte [0x552487], 0
mov byte [0x4edf33], 1
je 0x41bae2
nop dword [eax]
cmp byte [0x4edf31], 0
jne 0x41b9e0
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 0x41ba19
cmp al, 5
je 0x41ba19
cmp al, 4
jne case.0x41bc6a.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 0x41babe
test esi, esi
je 0x41baaf
dec ecx
movsx ebp, bx
movsx eax, cx
mov word [0x54fc1a], cx
mov word [0x54e55c], cx
lea edx, [ebp - 1]
cmp eax, edx
jge 0x41ba8a
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 0x41ba70
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.00484320
add esp, 0xc
jmp 0x41babe
lea eax, [ecx - 1]
mov word [0x54fc1a], ax
mov word [0x54e55c], ax
cmp byte [0x55258f], 0
je 0x41bad9
cmp bx, 1
jle 0x41bad9
mov ecx, dword [esp + 0x10]
lea edx, [ebx - 1]
call fcn.00432830
mov ecx, dword [esp + 0x10]
jmp 0x41bbc5
cmp byte [0x4edf31], 0
jne 0x41bae2
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 0x41bb1b
cmp al, 5
je 0x41bb1b
cmp al, 4
jne case.0x41bc6a.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 0x41bbc1
test ebx, ebx
je 0x41bbb2
dec ecx
movsx edi, si
movsx ebp, cx
mov word [0x54fc1a], cx
mov word [0x54e55c], cx
lea esi, [edi - 1]
cmp ebp, esi
jge 0x41bb92
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 0x41bb72
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 0x41bbc1
lea eax, [ecx - 1]
mov word [0x54fc1a], ax
mov word [0x54e55c], ax
mov ecx, dword [esp + 0x14]
call fcn.00427450
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 [0x552487], 0
je 0x41bc07
push 1
or dl, 0xff
xor cl, cl
call fcn.0040e880
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test bl, bl
je 0x41bc22
push 1
or dl, 0xff
mov cl, 1
call fcn.0040e880
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552489], 0
je 0x41bc42
push 1
or dl, 0xff
mov cl, 3
call fcn.0040e880
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.0x41bc6a.1073741894
movzx eax, byte [ecx + 0x41cd5c]
jmp dword [eax*4 + 0x41ccfc]
xor edx, edx
mov cl, 5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.00435fd0
xor edx, edx
mov cl, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.00435fd0
test bl, bl
jne case.0x41bc6a.1073741894
xor edx, edx
mov cl, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.00435fd0
mov al, byte [0x54e4b7]
add al, 0xff
cmp byte [0x552508], 0
mov byte [0x54e4b7], al
jne 0x41bcd1
nop
cmp al, 3
je 0x41bcc8
cmp al, 4
jne 0x41bccc
add al, 0xff
jmp 0x41bcc0
mov byte [0x54e4b7], al
cmp al, 0xff
jne 0x41bd26
mov byte [0x54e4b7], 7
call fcn.00428470
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 0x41bd16
cmp al, 3
je 0x41bd0d
cmp al, 4
jne 0x41bd11
add al, 1
jmp 0x41bd05
mov byte [0x54e4b7], al
cmp al, 8
jne 0x41bd26
mov byte [0x54e4b7], 0
call fcn.004284d0
mov byte [0x54e642], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552487], 0
je 0x41bd54
push 1
mov dl, 1
xor cl, cl
call fcn.0040e880
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test bl, bl
je 0x41bd6e
mov dl, 1
push 1
mov cl, dl
call fcn.0040e880
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552489], 0
je 0x41bd8d
push 1
mov dl, 1
mov cl, 3
call fcn.0040e880
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 [0x552487], 0
je 0x41bee2
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.0x41bc6a.1073741894
movzx eax, word [esp + 0x14]
cmp byte [0x55259c], 0
movzx edi, word [eax*2 + 0x54e740]
je 0x41be95
push 0x500
push 0
push 0x5008d0
call fcn.00484320
xor eax, eax
add esp, 0xc
cmp ax, di
jge 0x41be8e
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 0x41be74
cmp byte [0x54e517], 0
je 0x41be48
mov al, byte [ecx - 2]
mov byte [edx - 2], al
cmp byte [0x54e518], 0
je 0x41be57
mov al, byte [ecx - 1]
mov byte [edx - 1], al
cmp byte [0x54e519], 0
je 0x41be64
mov al, byte [ecx]
mov byte [edx], al
test bh, bh
je 0x41be6e
mov al, byte [ecx + 1]
mov byte [edx + 1], al
test bl, bl
je 0x41be80
jmp 0x41be7a
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 0x41be30
mov word [0x50add8], di
cmp byte [0x4edf31], 0
jne 0x41be95
xor eax, eax
cmp ax, di
jge 0x41c061
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 0x41bec0
mov byte [0x4edf33], al
jmp 0x41bbc1
test bl, bl
je 0x41c06d
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.0x41bc6a.1073741894
movzx eax, word [esp + 0x14]
cmp byte [0x55259c], 0
movzx ebp, word [eax*2 + 0x54e740]
je 0x41c013
push 0xa000
push 0
push 0x4f68d0
call fcn.00484320
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x10], ecx
cmp dword [0x54fc2c], ecx
jle 0x41c00c
xor eax, eax
nop
xor edx, edx
cmp dx, bp
jge 0x41bff8
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 0x41bfd4
cmp byte [0x54e517], 0
je 0x41bf97
mov al, byte [ecx - 2]
mov byte [edx], al
cmp byte [0x54e518], 0
je 0x41bfa6
mov al, byte [ecx - 1]
mov byte [edx + 1], al
cmp byte [0x54e519], 0
je 0x41bfb4
mov al, byte [ecx]
mov byte [edx + 2], al
cmp byte [0x54e51a], 0
je 0x41bfc3
mov al, byte [ecx + 1]
mov byte [ecx + edi], al
cmp byte [0x54e51b], 0
je 0x41bfdf
mov al, byte [ecx + 2]
mov byte [ecx + ebx], al
jmp 0x41bfdf
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 0x41bf80
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 0x41bf50
mov word [0x50add4], bp
cmp byte [0x4edf31], 0
jne 0x41c013
mov eax, dword [0x54fc2c]
xor edx, edx
test eax, eax
jle 0x41c061
xor ecx, ecx
nop dword [eax]
xor edi, edi
cmp di, bp
jge 0x41c059
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 0x41c040
mov eax, dword [0x54fc2c]
inc edx
movsx ecx, dx
cmp ecx, eax
jl 0x41c030
mov byte [0x4edf33], 0
jmp 0x41bbc1
cmp byte [0x552489], 0
je 0x41c082
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x40f0a0
mov byte [0x54e551], 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552487], 0
je 0x41c17d
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.0x41bc6a.1073741894
push 0x500
push 0
push 0x5008d0
call fcn.00484320
movzx eax, word [esp + 0x1c]
add esp, 0xc
movzx edi, word [eax*2 + 0x54e740]
xor eax, eax
cmp ax, di
jge 0x41c16e
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 0x41c154
cmp byte [0x54e517], 0
je 0x41c128
mov al, byte [ecx - 2]
mov byte [edx - 2], al
cmp byte [0x54e518], 0
je 0x41c137
mov al, byte [ecx - 1]
mov byte [edx - 1], al
cmp byte [0x54e519], 0
je 0x41c144
mov al, byte [ecx]
mov byte [edx], al
test bh, bh
je 0x41c14e
mov al, byte [ecx + 1]
mov byte [edx + 1], al
test bl, bl
je 0x41c160
jmp 0x41c15a
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 0x41c110
mov word [0x50add8], di
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test bl, bl
je 0x41c2a7
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.0x41bc6a.1073741894
push 0xa000
push 0
push 0x4f68d0
call fcn.00484320
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 0x41c298
xor eax, eax
nop dword [eax]
xor ecx, ecx
cmp cx, si
jge 0x41c288
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 0x41c264
cmp byte [0x54e517], 0
je 0x41c227
mov al, byte [ecx - 2]
mov byte [edx], al
cmp byte [0x54e518], 0
je 0x41c236
mov al, byte [ecx - 1]
mov byte [edx + 1], al
cmp byte [0x54e519], 0
je 0x41c244
mov al, byte [ecx]
mov byte [edx + 2], al
cmp byte [0x54e51a], 0
je 0x41c253
mov al, byte [ecx + 1]
mov byte [ecx + edi], al
cmp byte [0x54e51b], 0
je 0x41c26f
mov al, byte [ecx + 2]
mov byte [ecx + ebx], al
jmp 0x41c26f
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 0x41c210
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
inc ebp
movsx eax, bp
cmp eax, dword [0x54fc2c]
jl 0x41c1e0
mov word [0x50add4], si
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552489], 0
je 0x41c2bc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x40f290
mov byte [0x54e551], 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552487], 0
je 0x41c368
cmp word [0x50add8], 0
mov ax, word [0x54e560]
mov word [esp + 0x10], ax
je case.0x41bc6a.1073741894
mov ecx, dword [esp + 0x10]
call fcn.004273a0
test al, al
je case.0x41bc6a.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 0x41c320
xor eax, eax
cmp ax, si
jge 0x41c456
movzx eax, byte [0x54e4b6]
mov ecx, 0x5008d0
lea edx, [edx + eax*4]
add edx, eax
call fcn.0040f000
add edx, 0xa0
add ecx, 5
sub esi, 1
jne 0x41c345
mov ecx, dword [esp + 0x10]
mov byte [0x4edf33], 0
jmp 0x41bbc5
test bl, bl
je 0x41c466
cmp word [0x50add4], 0
mov ax, word [0x54e560]
mov word [esp + 0x10], ax
je case.0x41bc6a.1073741894
movzx eax, word [esp + 0x10]
movsx ecx, word [eax*2 + 0x54e740]
movzx eax, word [0x50add4]
cmp ecx, eax
je 0x41c3cd
push 0
push str.Adjust_pattern_length_to_match_copied_pattern_length_
push str.System_request
push 2
call fcn.00440fc0
add esp, 0x10
cmp ax, 1
jne 0x41c3cd
mov dx, word [0x50add4]
mov ecx, dword [esp + 0x10]
call fcn.00432830
mov ecx, dword [esp + 0x10]
call fcn.004273a0
test al, al
je case.0x41bc6a.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 0x41c400
mov ecx, dword [0x54fc2c]
xor ebx, ebx
test ecx, ecx
jle 0x41c456
xor eax, eax
xor esi, esi
cmp si, bp
jge 0x41c44e
lea ecx, [eax*4 + 0x4f68d0]
mov edi, edx
add ecx, eax
mov esi, ebp
sub edi, 0x4f68d0
lea edx, [edi + ecx]
call fcn.0040f000
add ecx, 0xa0
sub esi, 1
jne 0x41c431
mov ecx, dword [0x54fc2c]
mov edx, dword [esp + 0x18]
inc ebx
movsx eax, bx
cmp eax, ecx
jl 0x41c417
mov ecx, dword [esp + 0x10]
mov byte [0x4edf33], 0
jmp 0x41bbc5
cmp byte [0x552489], 0
je 0x41c5b7
mov byte [0x4edf33], 1
nop word [eax + eax]
cmp byte [0x4edf31], 0
jne 0x41c480
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.0x41bc6a.1073741894
mov ecx, dword [esp + 0x14]
call fcn.004273a0
test al, al
je case.0x41bc6a.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 0x41c4ef
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 0x41c50c
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 0x41bbc1
test esi, esi
jle 0x41bbc1
movzx eax, word [esp + 0x14]
mov eax, dword [eax*4 + 0x54e940]
mov dword [esp + 0x18], eax
cmp byte [0x4edf31], 0
jne 0x41c542
lea eax, [edx + ebp]
mov edi, ebp
mov dword [esp + 0x1c], eax
cmp ebp, eax
jge 0x41c061
lea ecx, [ebx + esi]
mov dword [esp + 0x20], ecx
cmp ebx, ecx
jge 0x41c5a6
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.0040f000
add edx, 0xa0
add ecx, 0xa0
sub esi, 1
jne 0x41c584
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
inc edi
cmp edi, eax
jl 0x41c563
mov byte [0x4edf33], 0
jmp 0x41bbc1
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 [0x552487], 0
je 0x41c5f5
push 0
or dl, 0xff
xor cl, cl
call fcn.0040e880
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test bl, bl
je 0x41c610
push 0
or dl, 0xff
mov cl, 1
call fcn.0040e880
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552489], 0
je 0x41c630
push 0
or dl, 0xff
mov cl, 3
call fcn.0040e880
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 [0x552487], 0
je 0x41c65e
push 0
mov dl, 1
xor cl, cl
call fcn.0040e880
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test bl, bl
je 0x41c678
mov dl, 1
push 0
mov cl, dl
call fcn.0040e880
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp byte [0x552489], 0
je 0x41c630
push 0
mov dl, 1
mov cl, 3
call fcn.0040e880
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov ecx, dword [0x78b4d8]
test ecx, ecx
je 0x41c6b1
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 0x41c6df
mov eax, dword [0x54fc1c]
dec eax
mov word [0x54fc1a], ax
movzx edx, ax
cmp byte [0x4edf32], 0
jne 0x41cbd9
movzx eax, dl
mov word [0x54e55c], ax
mov byte [0x54e642], 1
jmp 0x41cbd9
mov ecx, dword [0x78b4d8]
test ecx, ecx
je 0x41c71b
push ecx
call dword [sym.imp.SDL2.dll_SDL_LockAudioDevice]
mov ecx, dword [0x78b4d8]
add esp, 4
movzx eax, byte [0x54e555]
jmp 0x41c6b8
mov ecx, dword [0x78b4d8]
test ecx, ecx
je 0x41c73e
push ecx
call dword [sym.imp.SDL2.dll_SDL_LockAudioDevice]
mov ecx, dword [0x78b4d8]
add esp, 4
movzx eax, byte [0x54e556]
jmp 0x41c6b8
mov ecx, dword [0x78b4d8]
test ecx, ecx
je 0x41c764
push ecx
call dword [sym.imp.SDL2.dll_SDL_LockAudioDevice]
mov ecx, dword [0x78b4d8]
add esp, 4
movzx eax, byte [0x54e557]
jmp 0x41c6b8
cmp byte [0x552487], 0
je 0x41c85d
mov byte [0x4edf33], 1
cmp byte [0x4edf31], 0
jne 0x41c784
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 0x41c7bb
cmp al, 5
je 0x41c7bb
cmp al, 4
jne case.0x41bc6a.1073741894
movzx eax, word [esp + 0x10]
movzx edx, byte [0x55258f]
mov ecx, dword [esp + 0x10]
add dx, word [eax*2 + 0x54e740]
call fcn.00432830
movzx eax, word [esp + 0x10]
mov ebx, dword [eax*4 + 0x54e940]
test ebx, ebx
je 0x41bbca
movzx eax, word [esp + 0x10]
movzx eax, word [eax*2 + 0x54e740]
cmp ax, 1
jle 0x41c839
movsx edx, ax
movsx ecx, bp
sub edx, 2
cmp edx, ecx
jl 0x41c839
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 0x41c820
movsx eax, bp
push 0xa0
push 0
lea eax, [eax + eax*4]
shl eax, 5
add eax, ebx
push eax
call fcn.00484320
mov ecx, dword [esp + 0x1c]
add esp, 0xc
jmp 0x41bbc5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x40e3e0
cmp byte [0x552487], 0
je 0x41c87e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.00436860
cmp byte [0x552489], 0
je 0x41c934
movsx dx, byte [0x54e4b6]
movzx ecx, word [0x54e55c]
cmp dx, word [0x550b40]
je 0x41c8ca
cmp dx, word [0x550b42]
je 0x41c8ca
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 0x41c8f1
mov word [0x550b44], cx
call fcn.00428d10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x4292a0
cmp cx, word [0x550b46]
jne 0x41c8ff
lea eax, [esi - 1]
jmp 0x41c929
cmp cx, word [0x550b44]
je 0x41c92f
cmp cx, word [0x550b46]
je 0x41c92f
mov word [0x550b40], dx
lea eax, [esi + 1]
mov word [0x550b42], dx
mov word [0x550b44], cx
mov word [0x550b46], ax
call fcn.00428d10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x4292a0
cmp byte [0x552487], 0
je 0x41c955
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp fcn.00436900
cmp byte [0x552489], 0
je 0x41ca08
movsx dx, byte [0x54e4b6]
movzx ecx, word [0x54e55c]
cmp dx, word [0x550b40]
je 0x41c9a1
cmp dx, word [0x550b42]
je 0x41c9a1
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 0x41c9fa
movsx eax, word [0x550b44]
dec eax
cmp esi, eax
jne 0x41c9d3
lea eax, [esi + 2]
mov word [0x550b44], ax
call fcn.00428d10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x429330
cmp cx, word [0x550b44]
je 0x41ca03
cmp cx, word [0x550b46]
je 0x41ca03
mov word [0x550b40], dx
mov word [0x550b42], dx
mov word [0x550b44], cx
lea eax, [esi + 1]
mov word [0x550b46], ax
call fcn.00428d10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
jmp 0x429330
mov al, byte [0x789f64]
mov edx, dword [0x78b4d8]
test al, al
sete byte [esp + 0x10]
test al, al
jne 0x41ca45
test edx, edx
je 0x41ca3e
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 0x41ca62
xor eax, eax
mov word [0x54fc1a], ax
cmp byte [0x4edf32], 0
jne 0x41ca86
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.0x41bc6a.1073741894
test edx, edx
je 0x41cbe7
push edx
jmp 0x41cbde
mov al, byte [0x789f64]
mov edx, dword [0x78b4d8]
test al, al
sete bl
test al, al
jne 0x41cace
test edx, edx
je 0x41cac7
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 0x41cafb
mov eax, dword [0x54fc1c]
dec eax
mov word [0x54fc1a], ax
movzx eax, ax
cmp byte [0x4edf32], 0
jne 0x41cb14
movzx eax, al
mov word [0x54e55c], ax
mov byte [0x54e642], 1
test bl, bl
je case.0x41bc6a.1073741894
test edx, edx
je 0x41cbe7
push edx
jmp 0x41cbde
mov al, byte [0x789f64]
test al, al
sete bl
test al, al
mov eax, dword [0x78b4d8]
jne 0x41cb57
test eax, eax
je 0x41cb50
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 0x41cb76
mov word [0x54e55c], cx
mov byte [0x54e642], 1
test bl, bl
je case.0x41bc6a.1073741894
test eax, eax
je 0x41cbe7
push eax
jmp 0x41cbde
mov al, byte [0x789f64]
mov ecx, dword [0x78b4d8]
test al, al
sete bl
test al, al
jne 0x41cbb0
test ecx, ecx
je 0x41cba9
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 0x41cbd5
movzx eax, al
mov word [0x54e55c], ax
mov byte [0x54e642], 1
test bl, bl
je case.0x41bc6a.1073741894
test ecx, ecx
je 0x41cbe7
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 0x4292d1
test esi, esi
je 0x4292ca
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 0x42930e
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 0x42930e
movzx eax, al
mov word [0x54e55c], ax
mov byte [0x54e642], 1
test bl, bl
je 0x429327
test esi, esi
je 0x429320
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 0x429361
test esi, esi
je 0x42935a
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 0x429377
mov eax, 2
mov word [0x54fc2a], ax
jmp 0x4293ab
mov ax, word [0x54fc1c]
test ax, ax
jle 0x4293ab
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 0x4293c4
test esi, esi
je 0x4293bd
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 + 0x4bf010]
push 4
push ecx
lea ecx, [edx + 0x58]
call fcn.00410fd0
add esp, 0xc
ret
push ecx
mov eax, 0x80
cmp cx, ax
jg 0x42b600
mov byte [0x54e52a], cl
call fcn.00442dc0
call fcn.0042ab30
call fcn.00414160
pop ecx
ret