Function at 0x414125
Capabilities:
Hash data using murmur3

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov cx, word [esi + 0xc]
lea eax, [ecx + 1]
mov word [esi + 0xc], ax
call fcn.004053b0
mov edx, dword [esi + 0x20]
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x14]
xor ecx, ecx
and eax, 0xff
mov cl, byte [eax + 0x43c708]
add eax, 0xffffffc0
sub edx, ecx
cmp eax, 0xbe
mov dword [esi + 0x20], edx
ja case.0x41416c.125
xor edx, edx
mov dl, byte [eax + 0x415184]
jmp dword [edx*4 + 0x41508c]
mov ecx, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
jmp fcn.004054a0
mov al, byte [esi]
mov bp, word [esi + 2]
mov cx, word [esi + 6]
and al, 1
movzx di, al
add edi, ebp
mov byte [esp + 0x14], al
add edi, ecx
and ebp, 0xffff
mov word [esp + 0x10], di
mov eax, ecx
mov edx, dword [esp + 0x10]
mov ecx, ebp
and edx, 0x8000
and ecx, 0x8000
xor edx, ecx
and eax, 0xffff
mov ecx, ebp
xor ecx, eax
not ecx
and edx, ecx
mov cl, byte [esp + 0x11]
neg edx
sbb dl, dl
xor ebx, ebx
mov bl, cl
and edx, 4
xor bl, byte [esi + 3]
xor bl, byte [esi + 7]
mov word [esi + 6], di
and bl, 0x10
or dl, bl
mov ebx, dword [esp + 0x14]
and ebx, 0xff
add ebx, ebp
add ebx, eax
shr ebx, 0x10
and bl, 1
or dl, bl
test di, di
setne al
dec al
and cl, 0x80
and eax, 0x40
pop edi
or dl, al
or dl, cl
mov byte [esi], dl
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov al, byte [esi]
mov bp, word [esi + 4]
mov cx, word [esi + 6]
and al, 1
movzx di, al
add edi, ebp
mov byte [esp + 0x14], al
add edi, ecx
and ebp, 0xffff
mov word [esp + 0x10], di
mov eax, ecx
mov edx, dword [esp + 0x10]
mov ecx, ebp
and edx, 0x8000
and ecx, 0x8000
xor edx, ecx
and eax, 0xffff
mov ecx, ebp
xor ecx, eax
not ecx
and edx, ecx
mov cl, byte [esp + 0x11]
neg edx
sbb dl, dl
xor ebx, ebx
mov bl, cl
and edx, 4
xor bl, byte [esi + 5]
xor bl, byte [esi + 7]
mov word [esi + 6], di
and bl, 0x10
or dl, bl
mov ebx, dword [esp + 0x14]
and ebx, 0xff
add ebx, ebp
add ebx, eax
shr ebx, 0x10
and bl, 1
or dl, bl
test di, di
setne al
dec al
and cl, 0x80
and eax, 0x40
pop edi
or dl, al
or dl, cl
mov byte [esi], dl
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov cl, byte [esi]
mov ax, word [esi + 6]
and cl, 1
mov edx, eax
mov byte [esp + 0x14], cl
movzx cx, cl
shr edx, 0xd
lea edi, [ecx + eax*2]
and eax, 0xffff
mov word [esp + 0x10], di
mov word [esi + 6], di
mov ecx, dword [esp + 0x10]
shr ecx, 0xd
xor dl, cl
mov ecx, dword [esp + 0x14]
and ecx, 0xff
and dl, 4
lea eax, [ecx + eax*2]
xor ecx, ecx
shr eax, 0x10
and al, 1
or dl, al
mov al, byte [esp + 0x11]
mov cl, al
and cl, 0x10
or dl, cl
test di, di
setne cl
dec cl
and al, 0x80
and ecx, 0x40
pop edi
or dl, cl
or dl, al
mov byte [esi], dl
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov al, byte [esi]
mov bp, word [esi + 0xe]
mov cx, word [esi + 6]
and al, 1
movzx di, al
add edi, ebp
mov byte [esp + 0x14], al
add edi, ecx
and ebp, 0xffff
mov word [esp + 0x10], di
mov eax, ecx
mov edx, dword [esp + 0x10]
mov ecx, ebp
and edx, 0x8000
and ecx, 0x8000
xor edx, ecx
and eax, 0xffff
mov ecx, ebp
xor ecx, eax
not ecx
and edx, ecx
mov cl, byte [esp + 0x11]
neg edx
sbb dl, dl
xor ebx, ebx
mov bl, cl
and edx, 4
xor bl, byte [esi + 0xf]
xor bl, byte [esi + 7]
mov word [esi + 6], di
and bl, 0x10
or dl, bl
mov ebx, dword [esp + 0x14]
and ebx, 0xff
add ebx, ebp
add ebx, eax
shr ebx, 0x10
and bl, 1
or dl, bl
test di, di
setne al
dec al
and cl, 0x80
and eax, 0x40
pop edi
or dl, al
or dl, cl
mov byte [esi], dl
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov cl, byte [esi]
mov ax, word [esi + 6]
mov di, word [esi + 2]
and cl, 1
mov byte [esp + 0x14], cl
mov ebp, eax
movzx cx, cl
sub ebp, ecx
mov edx, eax
sub ebp, edi
mov ebx, eax
mov word [esp + 0x10], bp
mov ecx, dword [esp + 0x10]
shr edx, 0xd
shr ecx, 0xd
xor dl, cl
mov ecx, edi
shr ecx, 0xd
shr ebx, 0xd
xor cl, bl
xor ebx, ebx
and dl, cl
mov cl, byte [esp + 0x11]
mov bl, cl
and dl, 4
xor bl, byte [esi + 3]
jmp 0x4144ee
mov cl, byte [esi]
mov ax, word [esi + 6]
mov di, word [esi + 4]
and cl, 1
mov byte [esp + 0x14], cl
mov ebp, eax
movzx cx, cl
sub ebp, ecx
mov edx, eax
sub ebp, edi
mov ebx, eax
mov word [esp + 0x10], bp
mov ecx, dword [esp + 0x10]
shr edx, 0xd
shr ecx, 0xd
xor dl, cl
mov ecx, edi
shr ecx, 0xd
shr ebx, 0xd
xor cl, bl
xor ebx, ebx
and dl, cl
mov cl, byte [esp + 0x11]
mov bl, cl
and dl, 4
xor bl, byte [esi + 5]
jmp 0x4144ee
mov al, byte [esi]
xor edx, edx
and al, 1
movzx di, al
mov byte [esp + 0x14], al
mov ecx, dword [esp + 0x14]
neg edi
mov word [esp + 0x10], di
and ecx, 0xff
mov al, byte [esp + 0x11]
mov word [esi + 6], di
neg ecx
shr ecx, 0x10
mov dl, al
and cl, 1
and dl, 0x10
or cl, dl
test di, di
setne dl
dec dl
and al, 0x82
and edx, 0x40
pop edi
or cl, dl
or cl, al
or cl, 2
mov byte [esi], cl
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov cl, byte [esi]
mov ax, word [esi + 6]
mov di, word [esi + 0xe]
and cl, 1
mov byte [esp + 0x14], cl
mov ebp, eax
movzx cx, cl
sub ebp, ecx
mov edx, eax
sub ebp, edi
mov ebx, eax
mov word [esp + 0x10], bp
mov ecx, dword [esp + 0x10]
shr edx, 0xd
shr ecx, 0xd
xor dl, cl
mov ecx, edi
shr ecx, 0xd
shr ebx, 0xd
xor cl, bl
xor ebx, ebx
and dl, cl
mov cl, byte [esp + 0x11]
mov bl, cl
and dl, 4
xor bl, byte [esi + 0xf]
xor bl, byte [esi + 7]
and edi, 0xffff
and eax, 0xffff
mov word [esi + 6], bp
sub eax, edi
mov edi, dword [esp + 0x14]
and edi, 0xff
and bl, 0x10
sub eax, edi
or dl, bl
shr eax, 0x10
and al, 1
pop edi
or dl, al
test bp, bp
setne al
dec al
and cl, 0x82
and eax, 0x40
or dl, al
or dl, cl
or dl, 2
mov byte [esi], dl
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov cx, word [esi + 0xc]
lea edx, [ecx + 1]
mov word [esi + 0xc], dx
call fcn.004053b0
mov cx, word [esi + 0xc]
mov byte [esp + 0x10], al
lea eax, [ecx + 1]
mov word [esi + 0xc], ax
call fcn.004053b0
mov dl, byte [esi + 6]
mov byte [esp + 0x11], al
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.004053e0
mov dl, byte [esi + 7]
lea ecx, [edi + 1]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
jmp fcn.004053e0
mov cx, word [esi + 0xc]
lea edx, [ecx + 1]
mov word [esi + 0xc], dx
call fcn.004053b0
mov cx, word [esi + 0xc]
mov byte [esp + 0x10], al
lea eax, [ecx + 1]
mov word [esi + 0xc], ax
call fcn.004053b0
mov dl, byte [esi + 4]
mov byte [esp + 0x11], al
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.004053e0
mov dl, byte [esi + 5]
lea ecx, [edi + 1]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
jmp fcn.004053e0
mov cx, word [esi + 0xc]
lea edx, [ecx + 1]
mov word [esi + 0xc], dx
call fcn.004053b0
mov cx, word [esi + 0xc]
mov byte [esp + 0x10], al
lea eax, [ecx + 1]
mov word [esi + 0xc], ax
call fcn.004053b0
mov dl, byte [esi + 2]
mov byte [esp + 0x11], al
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.004053e0
mov dl, byte [esi + 3]
lea ecx, [edi + 1]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
jmp fcn.004053e0
mov cx, word [esi + 0xc]
lea edx, [ecx + 1]
mov word [esi + 0xc], dx
call fcn.004053b0
mov cx, word [esi + 0xc]
mov byte [esp + 0x10], al
lea eax, [ecx + 1]
mov word [esi + 0xc], ax
call fcn.004053b0
mov dl, byte [esi + 0xe]
mov byte [esp + 0x11], al
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.004053e0
mov dl, byte [esi + 0xf]
lea ecx, [edi + 1]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
jmp fcn.004053e0
mov cx, word [esi + 0xc]
lea edx, [ecx + 1]
mov word [esi + 0xc], dx
call fcn.004053b0
mov cx, word [esi + 0xc]
mov byte [esp + 0x10], al
lea eax, [ecx + 1]
mov word [esi + 0xc], ax
call fcn.004053b0
mov byte [esp + 0x11], al
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.004053b0
lea ecx, [edi + 1]
mov byte [esi + 6], al
call fcn.004053b0
mov byte [esi + 7], al
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov cx, word [esi + 0xc]
lea edx, [ecx + 1]
mov word [esi + 0xc], dx
call fcn.004053b0
mov cx, word [esi + 0xc]
mov byte [esp + 0x10], al
lea eax, [ecx + 1]
mov word [esi + 0xc], ax
call fcn.004053b0
mov byte [esp + 0x11], al
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.004053b0
lea ecx, [edi + 1]
mov byte [esi + 4], al
call fcn.004053b0
mov byte [esi + 5], al
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov cx, word [esi + 0xc]
lea edx, [ecx + 1]
mov word [esi + 0xc], dx
call fcn.004053b0
mov cx, word [esi + 0xc]
mov byte [esp + 0x10], al
lea eax, [ecx + 1]
mov word [esi + 0xc], ax
call fcn.004053b0
mov byte [esp + 0x11], al
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.004053b0
lea ecx, [edi + 1]
mov byte [esi + 2], al
call fcn.004053b0
mov byte [esi + 3], al
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov cx, word [esi + 0xc]
lea edx, [ecx + 1]
mov word [esi + 0xc], dx
call fcn.004053b0
mov cx, word [esi + 0xc]
mov byte [esp + 0x10], al
lea eax, [ecx + 1]
mov word [esi + 0xc], ax
call fcn.004053b0
mov byte [esp + 0x11], al
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.004053b0
lea ecx, [edi + 1]
mov byte [esi + 0xe], al
call fcn.004053b0
mov byte [esi + 0xf], al
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov cx, word [esi + 6]
call fcn.004053b0
mov dl, byte [esi + 1]
mov bl, al
mov cl, bl
shl dl, 4
shr cl, 4
or dl, cl
mov cx, word [esi + 6]
call fcn.004053e0
mov cl, byte [esi + 1]
mov al, cl
xor al, bl
and al, 0xf
xor al, cl
jmp 0x4147d6
mov cx, word [esi + 6]
call fcn.004053b0
mov dl, byte [esi + 1]
mov bl, al
mov cl, bl
and dl, 0xf
shl cl, 4
or dl, cl
mov cx, word [esi + 6]
call fcn.004053e0
mov al, byte [esi + 1]
and al, 0xf0
shr bl, 4
or al, bl
mov dl, byte [esi]
mov byte [esi + 1], al
and eax, 0xff
and dl, 1
pop edi
mov al, byte [eax + 0x43cb08]
or al, dl
mov byte [esi], al
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov al, byte [esi + 0x19]
jmp 0x414807
mov al, byte [esi + 0x1a]
mov bl, byte [esi + 0x20]
inc al
mov byte [esi + 0x1a], al
sub al, bl
mov cl, byte [esi + 0x18]
mov byte [esi + 1], al
and eax, 0xff
pop edi
shr cl, 1
mov dl, byte [eax + 0x43ca08]
mov al, byte [esi]
and cl, 4
and al, 1
or dl, cl
or dl, al
mov byte [esi], dl
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov cl, byte [esi + 1]
pop edi
mov byte [esi + 0x19], cl
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov al, byte [esi + 0x18]
pop edi
and al, 0xf9
mov byte [esi + 0x18], al
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov dl, byte [esi + 0x18]
pop edi
and dl, 0xfb
or dl, 2
mov byte [esi + 0x18], dl
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov al, byte [esi + 0x18]
pop edi
and al, 0xfd
or al, 4
mov byte [esi + 0x18], al
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov al, byte [esi + 0x18]
test al, 8
je 0x41487e
or al, 1
jmp 0x414880
and al, 0xfe
mov byte [esi + 0x18], al
mov cx, word [esi + 0xe]
lea edx, [ecx + 1]
mov word [esi + 0xe], dx
call fcn.004053b0
mov cx, word [esi + 0xe]
mov byte [esi + 0xc], al
lea eax, [ecx + 1]
mov word [esi + 0xe], ax
call fcn.004053b0
mov byte [esi + 0xd], al
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov al, byte [esi + 1]
xor cx, cx
mov cl, al
mov byte [esi + 1], 0
neg ecx
mov dl, cl
mov bl, cl
and dl, al
mov word [esp + 0x10], cx
and dl, 0xdf
xor bl, al
mov eax, dword [esp + 0x10]
or dl, 0x40
shr dl, 5
and bl, 0x10
and eax, 0xff
or dl, bl
pop edi
mov bl, byte [eax + 0x43ca08]
mov al, byte [esp + 0xd]
or dl, bl
mov byte [esi + 1], cl
neg al
or dl, al
mov byte [esi], dl
pop esi
pop ebp
pop ebx
add esp, 8
ret
movzx cx, byte [esi + 2]
call fcn.004054b0
mov cl, byte [esi]
mov byte [esi + 3], al
and eax, 0xff
and cl, 1
pop edi
mov dl, byte [eax + 0x43cb08]
or dl, cl
mov byte [esi], dl
pop esi
pop ebp
pop ebx
add esp, 8
ret
movzx cx, byte [esi + 2]
call fcn.004054b0
mov cl, byte [esi]
mov byte [esi + 2], al
and eax, 0xff
and cl, 1
pop edi
mov dl, byte [eax + 0x43cb08]
or dl, cl
mov byte [esi], dl
pop esi
pop ebp
pop ebx
add esp, 8
ret
movzx cx, byte [esi + 2]
call fcn.004054b0
mov cl, byte [esi]
mov byte [esi + 5], al
and eax, 0xff
and cl, 1
pop edi
mov dl, byte [eax + 0x43cb08]
or dl, cl
mov byte [esi], dl
pop esi
pop ebp
pop ebx
add esp, 8
ret
movzx cx, byte [esi + 2]
call fcn.004054b0
mov cl, byte [esi]
mov byte [esi + 4], al
and eax, 0xff
and cl, 1
pop edi
mov dl, byte [eax + 0x43cb08]
or dl, cl
mov byte [esi], dl
pop esi
pop ebp
pop ebx
add esp, 8
ret
movzx cx, byte [esi + 2]
call fcn.004054b0
mov cl, byte [esi]
mov byte [esi + 7], al
and eax, 0xff
and cl, 1
pop edi
mov dl, byte [eax + 0x43cb08]
or dl, cl
mov byte [esi], dl
pop esi
pop ebp
pop ebx
add esp, 8
ret
movzx cx, byte [esi + 2]
call fcn.004054b0
mov cl, byte [esi]
mov byte [esi + 6], al
and eax, 0xff
and cl, 1
pop edi
mov dl, byte [eax + 0x43cb08]
or dl, cl
mov byte [esi], dl
pop esi
pop ebp
pop ebx
add esp, 8
ret
movzx cx, byte [esi + 2]
call fcn.004054b0
mov cl, byte [esi]
mov byte [esi + 1], al
and eax, 0xff
and cl, 1
pop edi
mov dl, byte [eax + 0x43cb08]
or dl, cl
mov byte [esi], dl
pop esi
pop ebp
pop ebx
add esp, 8
ret
movzx cx, byte [esi + 2]
call fcn.004054b0
mov cl, byte [esi]
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x10]
and cl, 1
and eax, 0xff
pop edi
mov dl, byte [eax + 0x43cb08]
or dl, cl
mov byte [esi], dl
pop esi
pop ebp
pop ebx
add esp, 8
ret
movzx cx, byte [esi + 2]
mov dl, byte [esi + 3]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
jmp fcn.004054a0
mov dl, byte [esi + 2]
pop edi
pop esi
pop ebp
xor cx, cx
pop ebx
mov cl, dl
add esp, 8
jmp fcn.004054a0
movzx cx, byte [esi + 2]
mov dl, byte [esi + 5]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
jmp fcn.004054a0
movzx cx, byte [esi + 2]
mov dl, byte [esi + 4]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
jmp fcn.004054a0
movzx cx, byte [esi + 2]
mov dl, byte [esi + 7]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
jmp fcn.004054a0
movzx cx, byte [esi + 2]
mov dl, byte [esi + 6]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
jmp fcn.004054a0
movzx cx, byte [esi + 2]
mov dl, byte [esi + 1]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
jmp fcn.004054a0
mov di, word [esi + 6]
lea eax, [edi + 1]
jmp 0x414b2c
mov ebx, 0xffffffeb
mov di, word [esi + 6]
movzx cx, byte [esi + 2]
lea edx, [edi + 1]
mov word [esi + 6], dx
call fcn.004054b0
mov dl, al
mov ecx, edi
call fcn.004053e0
mov al, byte [esi + 3]
mov edi, dword [esi + 0x20]
dec al
add edi, ebx
test al, al
mov byte [esi + 3], al
mov dword [esi + 0x20], edi
mov ecx, edi
je 0x414bb2
test ecx, ecx
jg 0x414ae7
jmp 0x414b9d
mov di, word [esi + 6]
lea eax, [edi - 1]
movzx cx, byte [esi + 2]
mov word [esi + 6], ax
call fcn.004054b0
mov dl, al
mov ecx, edi
call fcn.004053e0
mov bl, byte [esi + 3]
dec bl
pop edi
setne cl
dec cl
mov byte [esi + 3], bl
and ecx, 0x40
or cl, 2
mov byte [esi], cl
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov ebx, 0xffffffeb
mov di, word [esi + 6]
movzx cx, byte [esi + 2]
lea edx, [edi - 1]
mov word [esi + 6], dx
call fcn.004054b0
mov dl, al
mov ecx, edi
call fcn.004053e0
mov al, byte [esi + 3]
mov edi, dword [esi + 0x20]
dec al
add edi, ebx
test al, al
mov byte [esi + 3], al
mov dword [esi + 0x20], edi
mov ecx, edi
je 0x414bb2
test ecx, ecx
jg 0x414b65
test al, al
je 0x414bb2
add word [esi + 0xc], 0xfffe
mov byte [esi], 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
add ecx, 5
mov byte [esi], 0x42
mov dword [esi + 0x20], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov cx, word [esi + 6]
lea eax, [ecx + 1]
mov word [esi + 6], ax
call fcn.004053b0
movzx cx, byte [esi + 2]
mov dl, al
mov byte [esp + 0x14], al
call fcn.004054a0
mov edx, dword [esp + 0x14]
mov al, byte [esi + 3]
xor ecx, ecx
and edx, 0xff
mov cl, byte [esi + 6]
dec al
add ecx, edx
mov byte [esi + 3], al
cmp ecx, 0xff
pop edi
setle cl
dec cl
and ecx, 0x11
test al, al
setne dl
dec dl
and edx, 0x40
or cl, dl
or cl, 2
mov byte [esi], cl
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov ebx, 0xffffffeb
mov cx, word [esi + 6]
lea eax, [ecx + 1]
mov word [esi + 6], ax
call fcn.004053b0
movzx cx, byte [esi + 2]
mov dl, al
mov byte [esp + 0x14], al
call fcn.004054a0
mov al, byte [esi + 3]
mov edi, dword [esi + 0x20]
dec al
add edi, ebx
test al, al
mov byte [esi + 3], al
mov dword [esi + 0x20], edi
mov ecx, edi
je 0x414d3f
test ecx, ecx
jg 0x414c28
jmp 0x414d0a
mov cx, word [esi + 6]
lea eax, [ecx - 1]
mov word [esi + 6], ax
call fcn.004053b0
movzx cx, byte [esi + 2]
mov dl, al
mov byte [esp + 0x14], al
call fcn.004054a0
mov edx, dword [esp + 0x14]
mov al, byte [esi + 3]
xor ecx, ecx
and edx, 0xff
mov cl, byte [esi + 6]
dec al
add ecx, edx
mov byte [esi + 3], al
cmp ecx, 0xff
pop edi
setle cl
dec cl
and ecx, 0x11
test al, al
setne dl
dec dl
and edx, 0x40
or cl, dl
or cl, 2
mov byte [esi], cl
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov ebx, 0xffffffeb
mov cx, word [esi + 6]
lea eax, [ecx - 1]
mov word [esi + 6], ax
call fcn.004053b0
movzx cx, byte [esi + 2]
mov dl, al
mov byte [esp + 0x14], al
call fcn.004054a0
mov al, byte [esi + 3]
mov edi, dword [esi + 0x20]
dec al
add edi, ebx
test al, al
mov byte [esi + 3], al
mov dword [esi + 0x20], edi
mov ecx, edi
je 0x414d3f
test ecx, ecx
jg 0x414cd0
test al, al
je 0x414d3f
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov cl, byte [esi + 6]
and edx, 0xff
add ecx, edx
pop edi
cmp ecx, 0xff
setle al
dec al
and eax, 0x11
or al, 2
add word [esi + 0xc], 0xfffe
mov byte [esi], al
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x14]
xor edx, edx
mov dl, byte [esi + 6]
and eax, 0xff
add edx, eax
cmp edx, 0xff
setle dl
dec dl
and edx, 0x11
or dl, 0x42
mov byte [esi], dl
add ecx, 5
pop edi
mov dword [esi + 0x20], ecx
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov cx, word [esi + 6]
mov di, word [esi + 4]
lea eax, [ecx + 1]
lea edx, [edi + 1]
mov word [esi + 6], ax
mov word [esi + 4], dx
call fcn.004053b0
mov dl, al
mov ecx, edi
call fcn.004053e0
dec word [esi + 2]
mov ax, word [esi + 2]
mov cl, byte [esi]
pop edi
neg ax
sbb al, al
and cl, 0xe9
and eax, 4
or al, cl
mov byte [esi], al
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov ebx, 0xffffffeb
mov cx, word [esi + 6]
mov di, word [esi + 4]
lea edx, [ecx + 1]
lea eax, [edi + 1]
mov word [esi + 6], dx
mov word [esi + 4], ax
call fcn.004053b0
mov dl, al
mov ecx, edi
call fcn.004053e0
dec word [esi + 2]
mov edi, dword [esi + 0x20]
mov ax, word [esi + 2]
add edi, ebx
test ax, ax
mov dword [esi + 0x20], edi
mov ecx, edi
je 0x414e8b
test ecx, ecx
jg 0x414dba
jmp 0x414e8b
mov cx, word [esi + 6]
mov di, word [esi + 4]
lea edx, [ecx - 1]
lea eax, [edi - 1]
mov word [esi + 6], dx
mov word [esi + 4], ax
call fcn.004053b0
mov dl, al
mov ecx, edi
call fcn.004053e0
dec word [esi + 2]
mov cx, word [esi + 2]
mov dl, byte [esi]
pop edi
neg cx
sbb cl, cl
and dl, 0xe9
and ecx, 4
or cl, dl
mov byte [esi], cl
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov ebx, 0xffffffeb
mov cx, word [esi + 6]
mov di, word [esi + 4]
lea eax, [ecx - 1]
lea edx, [edi - 1]
mov word [esi + 6], ax
mov word [esi + 4], dx
call fcn.004053b0
mov dl, al
mov ecx, edi
call fcn.004053e0
dec word [esi + 2]
mov edi, dword [esi + 0x20]
mov ax, word [esi + 2]
add edi, ebx
test ax, ax
mov dword [esi + 0x20], edi
mov ecx, edi
je 0x414e8b
test ecx, ecx
jg 0x414e4c
mov bl, byte [esi]
and bl, 0xe9
test ax, ax
mov byte [esi], bl
mov dl, bl
je 0x414d62
or dl, 2
add word [esi + 0xc], 0xfffe
mov byte [esi], dl
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov cx, word [esi + 6]
lea eax, [ecx + 1]
mov word [esi + 6], ax
call fcn.004053b0
mov cl, byte [esi + 1]
mov dl, cl
sub dl, al
dec word [esi + 2]
mov di, word [esi + 2]
mov byte [esp + 0x10], dl
xor cl, dl
mov edx, dword [esp + 0x10]
and edx, 0xff
xor cl, al
and cl, 0x10
mov ax, di
mov bl, byte [edx + 0x43ca08]
mov dl, byte [esi]
or cl, bl
pop edi
neg ax
sbb al, al
and dl, 1
and eax, 4
or cl, al
or cl, dl
or cl, 2
mov byte [esi], cl
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov ebx, 0xffffffeb
mov cx, word [esi + 6]
lea eax, [ecx + 1]
mov word [esi + 6], ax
call fcn.004053b0
mov cl, byte [esi + 1]
mov ebp, dword [esi + 0x20]
sub cl, al
dec word [esi + 2]
mov di, word [esi + 2]
add ebp, ebx
test di, di
mov byte [esp + 0x10], cl
mov dword [esi + 0x20], ebp
je 0x414fe7
test cl, cl
je 0x414fe7
test ebp, ebp
jg 0x414f12
jmp 0x414fe7
mov cx, word [esi + 6]
lea edx, [ecx - 1]
mov word [esi + 6], dx
call fcn.004053b0
mov cl, byte [esi + 1]
mov dl, cl
sub dl, al
dec word [esi + 2]
xor cl, dl
mov byte [esp + 0x10], dl
mov di, word [esi + 2]
xor cl, al
mov eax, dword [esp + 0x10]
and cl, 0x10
and eax, 0xff
mov dl, byte [eax + 0x43ca08]
mov al, byte [esi]
or cl, dl
mov dx, di
neg dx
sbb dl, dl
and al, 1
and edx, 4
pop edi
or cl, dl
or cl, al
or cl, 2
mov byte [esi], cl
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov ebx, 0xffffffeb
mov cx, word [esi + 6]
lea edx, [ecx - 1]
mov word [esi + 6], dx
call fcn.004053b0
mov cl, byte [esi + 1]
mov ebp, dword [esi + 0x20]
sub cl, al
dec word [esi + 2]
mov di, word [esi + 2]
add ebp, ebx
test di, di
mov byte [esp + 0x10], cl
mov dword [esi + 0x20], ebp
je 0x414fe7
test cl, cl
jne 0x414fb5
mov dl, byte [esi + 1]
xor dl, cl
xor dl, al
mov eax, dword [esp + 0x10]
and eax, 0xff
and dl, 0x10
mov bl, byte [eax + 0x43ca08]
mov ax, di
or dl, bl
neg ax
sbb al, al
and eax, 4
or dl, al
mov al, byte [esi]
and al, 1
or dl, al
or dl, 2
test di, di
mov byte [esi], dl
je 0x415031
test cl, cl
je 0x415031
add word [esi + 0xc], 0xfffe
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
add ebp, 5
pop edi
mov dword [esi + 0x20], ebp
pop esi
pop ebp
pop ebx
add esp, 8
ret
dec word [esi + 0xc]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov al, byte [esi + 0x2b]
test al, al
je case.0x41416c.77
mov ax, word [esi + 0xc]
mov ecx, eax
and ecx, 0xffff
sub ecx, 2
push ecx
lea ecx, [eax - 1]
call fcn.004053b0
mov edx, dword [esi + 0x30]
and eax, 0xff
push eax
push edx
push str._Z80__lX__Unrecognized_instruction:_ED__02X_at_PC_04X_n
call fcn.00428f8c
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret