Function at 0x4278e0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x9c
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 0x18]
test esi, esi
sete al
test ebx, ebx
sete dl
or eax, edx
mov edx, dword [ebp + 8]
test edx, edx
sete dl
or al, dl
mov byte [ebp - 0x91], al
jne 0x427c50
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x427b5c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x10], 0xff
test eax, eax
je 0x427ca8
mov edi, dword [ebp + 0xc]
mov edx, 0x1c
test edi, 1
jne 0x428b18
test edi, 2
jne 0x428b30
mov ecx, edx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
test dl, 2
je 0x42798f
mov word [edi], 0
add edi, 2
and edx, 1
je 0x427997
mov byte [edi], 0
mov eax, dword [ebp + 0xc]
mov edi, esi
mov dword [ebp - 0x28], eax
mov edx, 0x140
test esi, 1
jne 0x428b40
test edi, 2
jne 0x428b50
mov ecx, edx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
test dl, 2
je 0x4279d2
mov word [edi], 0
add edi, 2
and edx, 1
je 0x4279da
mov byte [edi], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x5c], ebx
mov byte [ebp - 0x90], 0
mov byte [ebp - 0x70], 0
mov eax, dword [eax]
mov byte [ebp - 0x7e], 0
mov dword [esi], eax
mov eax, dword [ebp + 8]
mov byte [ebp - 0x78], 0
mov byte [ebp - 0x6c], 0
mov ecx, dword [eax + 4]
mov eax, 0x10
shl eax, cl
mov byte [esi + 0x15], al
mov byte [ebp - 0x7d], 0
xor edi, edi
mov byte [ebp - 0x84], 0
mov byte [ebp - 0x68], 0
mov byte [ebp - 0x7c], 0
mov byte [ebp - 0x64], 0
xor edx, edx
mov byte [ebp - 0x60], 0
mov eax, dword [ebp - 0x5c]
mov al, byte [eax]
cmp al, 0x67
je 0x427bd8
ja 0x427b00
cmp al, 0x66
je 0x427bf8
cmp al, 0x63
ja 0x427ba8
lea ecx, [eax - 0x26]
cmp cl, 0x18
ja 0x429ef7
mov ebx, 0x1010101
shr ebx, cl
and ebx, 1
jne 0x427c28
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x427cb8
cmp byte [ebp - 0x90], 0
je 0x427a88
mov al, byte [ebp - 0x98]
mov byte [ebp - 0x13], al
cmp byte [ebp - 0x78], 0
je 0x427a97
mov al, byte [ebp - 0x88]
mov byte [ebp - 0x12], al
cmp byte [ebp - 0x70], 0
je 0x427aaf
mov al, byte [ebp - 0x82]
mov byte [ebp - 0x15], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x1a], al
cmp byte [ebp - 0x7e], 0
je 0x427abe
mov al, byte [ebp - 0x83]
mov byte [ebp - 0x10], al
cmp byte [ebp - 0x78], 0
je 0x427aca
mov al, byte [ebp - 0x7c]
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x6c], 0
je 0x4290e0
mov al, byte [ebp - 0x80]
cmp byte [ebp - 0x7d], 0
mov byte [ebp - 0x16], al
je 0x429580
mov al, byte [ebp - 0x8c]
mov byte [ebp - 0x17], al
mov al, byte [ebp - 0x7f]
mov byte [ebp - 0x1b], al
mov byte [ebp - 0x1c], 1
jmp 0x427d3b
cmp al, 0xf0
je 0x427b70
lea ecx, [eax + 0xe]
cmp cl, 1
ja 0x427a69
mov byte [ebp - 0x80], dl
mov byte [ebp - 0x7f], al
mov byte [ebp - 0x74], dl
mov byte [ebp - 0x64], al
mov byte [ebp - 0x6c], 1
mov byte [ebp - 0x68], 1
mov bl, byte [ebp - 0x60]
test bl, bl
jne 0x427b81
mov cl, byte [esi + 0x68]
inc edx
lea ebx, [ecx + 1]
and ecx, 0xff
mov byte [esi + 0x68], bl
cmp dl, 0xf
mov byte [esi + ecx*8 + 0x70], al
mov byte [esi + 8], dl
je 0x427b98
mov eax, dword [ebp - 0x5c]
mov edi, 1
inc eax
dec dword [ebp + 0x14]
mov dword [ebp - 0x5c], eax
jne 0x427a2a
mov eax, 0x80200000
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
ret
mov bl, byte [ebp - 0x60]
mov byte [ebp - 0x8c], dl
mov byte [ebp - 0x7d], 1
test bl, bl
je 0x427b2b
cmp al, bl
je 0x427b2b
mov byte [esi + 0xec], 0
mov byte [ebp - 0x60], 0
jmp 0x427b2b
add esp, 0x9c
mov eax, 0x80200002
pop ebx
pop esi
pop edi
pop ebp
ret
mov byte [ebp - 0x88], dl
mov byte [ebp - 0x82], dl
mov byte [ebp - 0x81], al
mov byte [ebp - 0x7c], al
mov byte [ebp - 0x70], 1
mov byte [ebp - 0x7e], 1
mov byte [ebp - 0x83], 0xff
mov byte [ebp - 0x78], 1
jmp 0x427b24
mov ecx, dword [esi + 0x24]
mov byte [ebp - 0x98], dl
or ch, 0x10
mov byte [ebp - 0x90], 1
mov dword [esi + 0x24], ecx
jmp 0x427b24
cmp byte [ebp - 0x64], 0
jne 0x427c09
mov byte [ebp - 0x74], dl
mov byte [ebp - 0x64], 0x66
mov byte [ebp - 0x68], 1
mov ebx, dword [esi + 0x24]
mov byte [ebp - 0x9c], dl
or bh, 8
mov byte [ebp - 0x84], 1
mov dword [esi + 0x24], ebx
jmp 0x427b24
mov edi, dword [ebp + 8]
mov edi, dword [edi]
test edi, edi
jne 0x427c60
cmp al, 0x3e
je 0x427c90
mov byte [ebp - 0x82], dl
mov byte [ebp - 0x70], bl
mov byte [ebp - 0x81], al
jmp 0x427b24
mov eax, 0x80100004
jmp 0x427b61
mov byte [ebp - 0x88], dl
mov byte [ebp - 0x82], dl
mov byte [ebp - 0x70], bl
mov byte [ebp - 0x81], al
mov byte [ebp - 0x7e], bl
mov byte [ebp - 0x78], bl
mov byte [ebp - 0x7c], al
mov byte [ebp - 0x83], 0xff
jmp 0x427b24
movzx edi, byte [ebp - 0x7c]
lea ecx, [edi - 0x64]
cmp cl, 1
jbe 0x427c35
mov byte [ebp - 0x83], dl
mov byte [ebp - 0x7e], bl
jmp 0x427c35
lea eax, [ebp - 0x48]
mov dword [ebp + 0xc], eax
jmp 0x427959
cmp byte [ebp - 0x90], 0
je 0x427cca
mov al, byte [ebp - 0x98]
mov byte [ebp - 0x13], al
cmp byte [ebp - 0x78], 0
je 0x427cd9
mov al, byte [ebp - 0x88]
mov byte [ebp - 0x12], al
cmp byte [ebp - 0x70], 0
je 0x427cf1
mov al, byte [ebp - 0x82]
mov byte [ebp - 0x15], al
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x1a], al
cmp byte [ebp - 0x7e], 0
je 0x427d00
mov al, byte [ebp - 0x83]
mov byte [ebp - 0x10], al
cmp byte [ebp - 0x78], 0
je 0x427d0c
mov al, byte [ebp - 0x7c]
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x6c], 0
je 0x4290e0
mov al, byte [ebp - 0x80]
cmp byte [ebp - 0x7d], 0
mov byte [ebp - 0x16], al
je 0x427d2b
mov al, byte [ebp - 0x8c]
mov byte [ebp - 0x17], al
mov al, byte [ebp - 0x7f]
cmp byte [ebp - 0x7d], 0
mov byte [ebp - 0x1b], al
jne 0x427af3
mov eax, edi
test al, al
je 0x427d4d
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x20], eax
cmp byte [ebp - 0x84], 0
je 0x427d5f
mov al, byte [ebp - 0x9c]
mov byte [ebp - 0x14], al
cmp byte [ebp - 0x68], 0
je 0x427d71
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x11], al
mov al, byte [ebp - 0x64]
mov byte [ebp - 0x18], al
mov eax, dword [esi + 0x24]
mov edx, dword [esi + 0x20]
test ah, 8
je 0x427d89
xor ecx, ecx
mov cl, byte [ebp - 0x14]
mov dword [esi + ecx*8 + 0x6c], 1
test ah, 0x10
je 0x427d9b
xor ecx, ecx
mov cl, byte [ebp - 0x13]
mov dword [esi + ecx*8 + 0x6c], 1
cmp byte [ebp - 0x60], 0
jne 0x428958
mov eax, dword [ebp + 8]
mov edi, dword [eax]
test edi, edi
je 0x427dba
cmp byte [ebp - 0x1a], 0x3e
jne 0x427dba
mov al, byte [ebp - 0x15]
mov byte [ebp - 0x10], al
mov dword [ebp - 0x5c], 0
mov edi, 0x4487f8
nop
mov al, byte [edi]
mov word [ebp - 0x56], 0
cmp al, 0x1d
ja case.default.0x427ddd
and eax, 0xff
jmp dword [eax*4 + 0x448080]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x60], eax
shr eax, 9
and eax, 1
mov ebx, eax
lea esi, [esi]
mov dword [esp], edi
mov dword [esp + 4], ebx
call fcn.0042b310
mov edi, eax
jmp 0x427dc8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x60], eax
shr eax, 8
and eax, 1
mov ebx, eax
jmp 0x427e00
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x60], eax
shr eax, 7
and eax, 1
mov ebx, eax
jmp 0x427e00
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x60], eax
shr eax, 6
and eax, 1
mov ebx, eax
jmp 0x427e00
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x60], eax
shr eax, 5
and eax, 1
mov ebx, eax
jmp 0x427e00
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x60], eax
shr eax, 4
and eax, 1
mov ebx, eax
jmp 0x427e00
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x60], eax
shr eax, 3
and eax, 1
mov ebx, eax
jmp 0x427e00
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x60], eax
shr eax, 2
and eax, 1
mov ebx, eax
jmp 0x427e00
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x60], eax
shr eax, 1
and eax, 1
mov ebx, eax
jmp 0x427e00
xor ebx, ebx
mov bl, byte [esi + 0xf0]
jmp 0x427e00
xor ebx, ebx
mov bl, byte [esi + 0xf3]
jmp 0x427e00
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov bl, byte [eax + 9]
jmp 0x427e00
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov bl, byte [eax + 6]
jmp 0x427e00
mov eax, dword [ebp + 0xc]
xor edx, edx
mov bl, byte [eax + 0xb]
mov dl, bl
cmp dx, 3
mov word [ebp - 0x56], dx
je 0x4289d8
and ebx, 0xff
jmp 0x427e00
cmp dword [esi], 5
ja case.default.0x429afb
mov eax, dword [esi]
jmp dword [eax*4 + 0x4480f8]
cmp byte [esi + 0xfa], 0
je 0x428a50
mov bl, byte [esi + 0xf9]
jmp 0x427f28
cmp byte [esi + 0xfa], 0
je 0x428ab8
mov bl, byte [esi + 0xf8]
jmp 0x427f28
lea ecx, [ebp - 0x56]
mov edx, esi
lea eax, [ebp - 0x2c]
call fcn.00427410
test eax, eax
js 0x427b61
xor ebx, ebx
cmp word [ebp - 0x56], 3
setne bl
jmp 0x427e00
lea ecx, [ebp - 0x56]
mov edx, esi
lea eax, [ebp - 0x2c]
call fcn.00427410
test eax, eax
js 0x427b61
xor ebx, ebx
mov bx, word [ebp - 0x56]
jmp 0x427e00
mov al, byte [ebp - 0x18]
cmp al, 0xf2
je 0x428cdb
cmp al, 0xf3
je 0x428cc4
mov ebx, 1
cmp al, 0x66
je 0x428c75
mov dword [esp + 4], 0
mov dword [esp], edi
call fcn.0042b310
mov dword [ebp - 0x5c], eax
jmp 0x427e00
xor ebx, ebx
cmp byte [ebp - 0x1b], 0
setne bl
jmp 0x427e00
mov edx, dword [esi]
test edx, edx
jne 0x428a38
mov eax, dword [ebp + 0xc]
mov ebx, 2
cmp byte [eax + 6], 0
jne 0x427e00
mov eax, dword [esi + 0x24]
mov ecx, eax
and ecx, 0x800
je 0x428b60
xor ebx, ebx
mov bl, byte [ebp - 0x14]
mov dword [esi + ebx*8 + 0x6c], 1
cmp edx, 2
je 0x42805e
jbe 0x428b60
cmp edx, 3
je 0x428b60
shr eax, 0xb
and eax, 1
mov ebx, eax
jmp 0x427e00
mov eax, dword [esi]
test eax, eax
setne bl
jmp 0x427f28
cmp dword [esi], 5
ja case.default.0x429afb
mov eax, dword [esi]
jmp dword [eax*4 + 0x448110]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x428b73
dec eax
je 0x4289f8
mov dl, byte [esi + 8]
cmp dl, 0xe
ja 0x427b98
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x427b5c
mov eax, dword [ebp - 0x24]
inc edx
dec ecx
lea ebx, [eax + 1]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x24], ebx
mov bl, byte [eax]
mov byte [esi + 0x14], bl
mov byte [esi + 8], dl
jmp 0x427f28
mov eax, dword [esi + 0xc]
cmp eax, 4
je 0x428be8
cmp eax, 5
jne case.0x42808b.2
xor eax, eax
xor edx, edx
mov al, byte [esi + 0xef]
mov dl, byte [esi + 0xec]
xor ebx, ebx
lea eax, [edx + eax*4 + 0x21]
mov bx, ax
jmp 0x427e00
mov eax, dword [esi + 0xc]
test eax, eax
je case.0x42808b.2
xor eax, eax
xor edx, edx
mov al, byte [esi + 0xef]
mov dl, byte [esi + 0xeb]
xor ebx, ebx
lea eax, [edx + eax*4 + 1]
mov bx, ax
jmp 0x427e00
mov ebx, dword [ebp - 0x5c]
test ebx, ebx
je 0x4289d8
mov al, byte [ebp - 0x18]
test al, al
je 0x428186
xor edx, edx
mov cl, byte [ebp - 0x11]
mov dl, cl
add edx, 0xc
cmp al, 0x66
mov dword [esi + edx*8 + 0xc], 0
jne 0x428186
cmp cl, byte [ebp - 0x14]
jne 0x42817d
mov dword [esi + edx*8 + 0xc], 1
mov ecx, dword [esi + 0x24]
or ch, 8
mov dword [esi + 0x24], ecx
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], 0
jmp 0x427dc8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x60], eax
shr eax, 0xa
and eax, 1
mov ebx, eax
jmp 0x427e00
mov edx, dword [esi + 0xc]
test edx, edx
je case.0x42808b.2
xor eax, eax
xor edx, edx
mov al, byte [esi + 0xef]
mov dl, byte [esi + 0xeb]
xor ebx, ebx
lea eax, [eax + eax*2]
lea eax, [eax + edx - 7]
mov bx, ax
jmp 0x427e00
mov eax, dword [esi + 0x24]
shr eax, 0xc
and eax, 1
mov ebx, eax
jmp 0x427e00
mov eax, dword [esi + 0x24]
shr eax, 0xc
xor eax, 1
and eax, 1
mov ebx, eax
jmp 0x427e00
mov ebx, 1
jmp 0x427e00
xor ebx, ebx
test byte [esi + 0x25], 0x10
sete bl
inc ebx
jmp 0x427e00
mov ebx, 2
jmp 0x427e00
lea eax, [ebp - 0x54]
mov dword [esp + 8], eax
xor eax, eax
mov ax, word [edi + 1]
mov dword [esp + 4], eax
mov eax, dword [esi + 0xc]
mov dword [esp], eax
call fcn.00434e10
mov ecx, dword [esi]
mov eax, dword [esi + 0x24]
mov ebx, ecx
shr eax, 0xb
and ebx, 0xfffffffd
and eax, 1
mov edx, dword [ebp - 0x54]
dec ebx
jne 0x428a18
add eax, 2
mov cl, byte [edx + 5]
and eax, 0xff
and ecx, 7
mov ebx, dword [ebp + 0xc]
mov al, byte [eax + ecx*8 + 0x448740]
mov byte [esi + 0x16], al
shr al, 5
mov byte [ebx + 4], al
mov al, byte [edx + 5]
and eax, 7
dec al
je 0x428b6c
mov al, byte [esi + 0x16]
mov ecx, dword [esi]
mov byte [esi + 0x16], al
mov ebx, ecx
mov eax, dword [esi + 0x24]
shr eax, 0xc
and ebx, 0xfffffffd
and eax, 1
dec ebx
jne 0x428a08
add eax, 2
xor ecx, ecx
and eax, 0xff
mov cl, byte [edx + 5]
mov edx, ecx
and edx, 0x18
mov al, byte [eax + edx + 0x448710]
mov edx, dword [ebp + 0xc]
mov byte [esi + 0x17], al
shr al, 5
mov byte [edx + 5], al
lea eax, [ebp - 0x50]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0042b6e0
mov ebx, dword [ebp - 0x50]
mov al, byte [ebx]
mov dl, al
and edx, 1
mov byte [ebp - 0x5c], dl
je 0x428345
cmp byte [esi + 0xfa], 0
je 0x428cf2
test al, 0x10
jne 0x428cac
mov al, byte [esi + 0x17]
mov cl, byte [esi + 0xf7]
sub eax, 0x20
test al, 0xdf
je 0x428eeb
cmp cl, 2
je 0x428c95
ja 0x42833a
test cl, cl
jne 0x429350
cmp byte [esi + 0xf9], 6
je 0x429846
test cl, cl
setne byte [ebp - 0x5c]
mov edi, dword [ebp + 0xc]
mov al, byte [ebp - 0x5c]
mov byte [edi + 0x10], al
mov al, byte [ebx]
test al, 2
jne 0x428c06
test al, 4
je 0x42839f
mov al, byte [ebx + 8]
test al, al
je 0x428364
mov ecx, dword [esi + 0x20]
or cl, 0x80
mov dword [esi + 0x20], ecx
mov al, byte [ebx + 8]
and eax, 0xff
mov edi, dword [ebp + 0xc]
mov dword [esp + 8], eax
xor eax, eax
mov al, byte [ebx + 7]
xor edx, edx
mov dword [esp + 4], eax
xor eax, eax
mov al, byte [edi + 4]
xor ecx, ecx
mov dl, byte [ebx + eax + 4]
mov eax, edx
mov edx, esi
mov dword [esp], eax
lea eax, [ebp - 0x2c]
call fcn.00427610
test eax, eax
js 0x427b61
mov al, byte [ebx]
test al, 8
je 0x4283df
xor eax, eax
mov edi, dword [ebp + 0xc]
mov al, byte [ebx + 0xd]
xor edx, edx
mov dword [esp + 8], eax
xor eax, eax
mov al, byte [ebx + 0xc]
mov ecx, 1
mov dword [esp + 4], eax
xor eax, eax
mov al, byte [edi + 4]
mov dl, byte [ebx + eax + 9]
mov eax, edx
mov edx, esi
mov dword [esp], eax
lea eax, [ebp - 0x2c]
call fcn.00427610
test eax, eax
js 0x427b61
mov ebx, dword [ebp - 0x54]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x70], eax
mov dl, byte [ebx + 0xb]
mov cl, byte [ebx + 0xc]
and edx, 0x1f
and ecx, 0x1f
mov byte [ebp - 0x5c], dl
mov byte [ebp - 0x64], dl
mov byte [ebp - 0x6c], cl
cmp eax, 5
ja case.default.0x429afb
jmp dword [eax*4 + 0x448128]
mov dword [ebp - 0x88], 0
mov byte [ebp - 0x80], 0
mov byte [ebp - 0x7f], 0
mov byte [ebp - 0x7e], 0
mov byte [ebp - 0x60], 0
nop
mov eax, dword [ebp + 0xc]
mov dl, byte [ebp - 0x5c]
mov byte [ebp - 0x74], 0
test dl, dl
mov al, byte [eax + 0x10]
mov byte [ebp - 0x68], al
je 0x42844c
mov al, dl
shr al, 4
mov byte [ebp - 0x74], al
mov al, dl
and eax, 0xf
mov byte [ebp - 0x64], al
mov al, byte [esi + 0xf9]
test cl, cl
mov byte [ebp - 0x5c], al
jne 0x428c2d
xor eax, eax
mov al, byte [ebp - 0x60]
mov dword [ebp - 0x8c], eax
xor eax, eax
mov al, byte [ebp - 0x64]
mov dword [ebp - 0x78], eax
mov eax, dword [esi]
test eax, eax
sete byte [ebp - 0x82]
cmp byte [ebp - 0x68], 0
je 0x429f1f
mov byte [ebp - 0x7d], 0
mov dword [ebp - 0x90], 0
test eax, eax
mov eax, dword [ebp + 0xc]
mov cl, byte [esi + 0xf8]
mov al, byte [eax + 0xe]
jne 0x428f72
mov byte [ebp - 0x81], al
mov eax, dword [ebp - 0x70]
sub eax, 4
mov byte [ebp - 0x83], 0
mov dword [ebp - 0x98], eax
mov eax, dword [ebp + 0xc]
mov al, byte [eax + 0xd]
and eax, 0xff
mov dl, byte [esi + 0xfc]
shl eax, 4
mov byte [ebp - 0x92], dl
mov dword [ebp - 0x7c], eax
mov al, byte [ebp - 0x5c]
mov byte [ebp - 0x93], al
mov byte [ebp - 0x84], 0
mov edi, dword [ebp + 0xc]
xor eax, eax
mov byte [ebp - 0x70], 0
mov al, byte [edi + 8]
cmp dword [ebp - 0x98], 1
mov dword [ebp - 0x9c], eax
ja 0x42850e
shl eax, 4
mov byte [ebp - 0x70], al
mov edi, dword [ebp + 0xc]
xor eax, eax
mov edx, edi
mov al, byte [edi + 0xc]
movzx edi, byte [edi + 7]
shl eax, 4
and edi, 0xff
shl edi, 3
or eax, edi
mov edi, dword [ebp - 0x7c]
or ecx, eax
xor eax, eax
mov al, byte [edx + 9]
mov dl, byte [ebp - 0x5c]
shl eax, 3
mov byte [ebp - 0x98], cl
or edx, eax
mov ecx, dword [ebp - 0x70]
or edx, ecx
mov cl, byte [ebp - 0x81]
or ecx, edi
mov byte [ebp - 0x70], cl
mov cl, byte [ebp - 0x93]
or eax, ecx
mov cl, byte [ebp - 0x92]
mov byte [ebp - 0x81], al
mov eax, dword [ebp - 0x9c]
shl eax, 3
mov edi, dword [ebp - 0x84]
or eax, edi
or eax, ecx
mov cl, byte [ebp - 0x98]
mov byte [ebp - 0x7c], al
mov eax, dword [ebp - 0x78]
and cl, byte [eax + 0x448634]
cmp byte [ebp - 0x68], 0
je 0x42859d
mov eax, dword [ebp - 0x90]
and dl, byte [eax + 0x448628]
mov byte [ebp - 0x5c], dl
cmp byte [ebp - 0x60], 0
jne 0x4285c6
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0xe], 0
jne 0x4289e8
cmp byte [ebp - 0x83], 0
jne 0x4285c6
cmp byte [eax + 0xd], 0
jne 0x4289e8
xor eax, eax
mov edx, dword [ebp - 0x78]
mov al, byte [ebp - 0x82]
lea eax, [eax + eax*2]
cmp byte [edx + eax*4 + 0x448610], cl
lea edi, [eax*4 + 0x448610]
jbe 0x4289e8
mov edx, dword [ebp - 0x8c]
mov al, byte [ebp - 0x70]
cmp byte [edi + edx], al
jbe 0x4289e8
cmp byte [ebp - 0x68], 0
je 0x42935a
mov eax, dword [ebp - 0x90]
mov dl, byte [ebp - 0x5c]
cmp byte [edi + eax], dl
jbe 0x4289e8
cmp byte [ebp - 0x64], 8
je 0x42980d
cmp byte [ebp - 0x6c], 8
jne 0x42a143
mov dl, byte [ebp - 0x5c]
movsx eax, dl
test dl, dl
js 0x4298d7
mov edi, 1
cmp byte [eax + 0x448600], 0
je 0x4289e8
cmp byte [ebp - 0x6c], 0
setne al
and eax, edi
cmp byte [ebp - 0x64], 0
jne 0x42865b
mov cl, 0xff
mov edi, dword [ebp + 0xc]
test al, al
mov byte [edi + 0x11], cl
je 0x42a12a
mov eax, dword [ebp + 0xc]
mov dl, byte [ebp - 0x5c]
cmp byte [ebp - 0x60], 0
mov byte [eax + 0x12], dl
jne 0x42867c
mov byte [ebp - 0x70], 0xff
mov edi, dword [ebp + 0xc]
mov al, byte [ebp - 0x70]
cmp byte [ebp - 0x74], 0
mov byte [edi + 0x13], al
mov al, byte [ebp - 0x81]
mov byte [edi + 0x14], al
mov al, byte [ebp - 0x7c]
mov byte [edi + 0x15], al
je 0x4286a3
cmp cl, 1
je 0x4289e8
cmp byte [ebp - 0x7d], 0
je 0x4286b3
cmp byte [ebp - 0x5c], 1
je 0x4289e8
cmp byte [ebp - 0x7e], 0
je 0x42870e
mov eax, dword [esi + 0xc]
cmp eax, 3
je 0x429551
sub eax, 4
cmp eax, 1
ja 0x4286d7
cmp byte [ebp - 0x64], 0
je 0x42958b
mov al, cl
mov edi, 0xfffffff0
cmp cl, 0xf0
sete byte [ebp - 0x91]
mov dl, byte [ebp - 0x7c]
cmp al, dl
mov eax, edi
sete byte [ebp - 0x60]
cmp al, dl
sete al
or al, byte [ebp - 0x60]
jne 0x4289e8
cmp byte [ebp - 0x91], 0
jne 0x4289e8
cmp byte [ebp - 0x7f], 0
je 0x42872c
cmp byte [ebp - 0x70], cl
je 0x4289e8
cmp byte [ebp - 0x68], 0
je 0x42872c
cmp byte [ebp - 0x5c], cl
je 0x4289e8
cmp byte [ebp - 0x80], 0
je 0x428755
mov al, byte [ebp - 0x70]
cmp byte [ebp - 0x5c], al
sete byte [ebp - 0x60]
cmp al, cl
mov dl, byte [ebp - 0x60]
sete al
or al, dl
jne 0x4289e8
cmp byte [ebp - 0x5c], cl
je 0x4289e8
mov eax, dword [ebp - 0x88]
cmp eax, 2
je 0x42937c
cmp eax, 3
jne 0x428776
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0xf], 0
jne 0x4288f7
cmp dword [esi + 0xc], 1
je 0x428d54
xor eax, eax
xor edx, edx
mov al, byte [ebx + 1]
mov dl, byte [ebx]
and eax, 7
shl eax, 8
or eax, edx
mov dword [esi + 4], eax
mov al, byte [ebx + 2]
and eax, 0xf
mov byte [esi + 0x18], al
mov al, byte [ebx + 2]
shr al, 4
and eax, 7
mov byte [esi + 0x19], al
mov eax, dword [ebp + 0xc]
mov dword [eax], ebx
mov al, byte [ebx + 7]
shr al, 1
and eax, 0xff
mov dword [esi + 0x54], eax
xor eax, eax
mov al, byte [ebx + 8]
mov dword [esi + 0x58], eax
mov al, byte [ebx + 9]
and eax, 0x7f
mov dword [esi + 0x5c], eax
mov al, byte [ebx + 0xa]
and eax, 3
mov dword [esi + 0x60], eax
mov al, byte [ebx + 0xa]
shr al, 2
and eax, 0xff
mov dword [esi + 0x64], eax
mov eax, dword [ebp + 8]
test byte [eax + 8], 1
je 0x428f96
mov eax, dword [esi + 0xc]
mov dword [esi + 0xe4], eax
mov eax, 0x100000
jmp 0x427b61
cmp byte [ebx + 6], 0
js 0x4289ce
test byte [ebx + 7], 1
je 0x42881f
mov eax, dword [esi]
dec eax
cmp eax, 1
jbe 0x4289d8
mov al, byte [ebp - 0x1c]
mov byte [ebp - 0x60], al
test al, al
je 0x429566
test byte [ebx + 0xd], 0x40
je 0x4297eb
mov eax, dword [ebp - 0x70]
mov byte [ebp - 0x80], 0
mov dword [ebp - 0x88], eax
mov byte [ebp - 0x7f], 0
mov byte [ebp - 0x7e], 0
mov byte [ebp - 0x60], 0
jmp 0x428428
mov al, byte [ebx + 0xe]
and eax, 0x1f
mov byte [ebp - 0x60], al
mov al, byte [ebx + 0xe]
shr al, 5
and eax, 1
mov byte [ebp - 0x7e], al
mov al, byte [ebx + 0xf]
mov dl, al
and eax, 0x1f
shr dl, 5
mov edi, edx
and edi, 3
mov dword [ebp - 0x88], edi
movzx edi, byte [esi + 0xf1]
and edi, 0xff
cmp byte [edi + eax*8 + 0x448640], 0
je 0x4289d8
mov byte [ebp - 0x80], 0
mov byte [ebp - 0x7f], 0
jmp 0x428428
mov al, byte [ebx + 0xe]
and eax, 0x1f
mov byte [ebp - 0x60], al
mov al, byte [ebx + 0xe]
shr al, 5
and eax, 1
mov byte [ebp - 0x7e], al
mov al, byte [ebx + 0xe]
shr al, 6
and eax, 1
mov byte [ebp - 0x7f], al
mov al, byte [ebx + 0x10]
shr al, 5
and eax, 3
mov dword [ebp - 0x88], eax
mov al, byte [esi + 0xf0]
mov byte [ebp - 0x80], al
test al, al
je 0x428428
cmp byte [ebx + 0x10], 0
mov byte [ebp - 0x80], 0
js 0x428428
mov eax, 0x8020000a
jmp 0x427b61
mov al, byte [ebx + 0xe]
mov dword [ebp - 0x88], 0
and eax, 0x1f
mov byte [ebp - 0x7f], 0
mov byte [ebp - 0x60], al
mov al, byte [ebx + 0xe]
shr al, 5
and eax, 1
mov byte [ebp - 0x7e], al
mov al, byte [ebx + 0xe]
shr al, 7
mov byte [ebp - 0x80], al
jmp 0x428428
mov al, byte [ebx + 0xe]
mov dword [ebp - 0x88], 0
and eax, 0x1f
mov byte [ebp - 0x80], 0
mov byte [ebp - 0x60], al
mov byte [ebp - 0x7f], 0
mov byte [ebp - 0x7e], 0
jmp 0x428428
xor ecx, ecx
or edx, 4
mov cl, byte [esi + 0xec]
mov edi, dword [ebp + 0xc]
mov dword [esi + ecx*8 + 0x6c], 1
mov cl, byte [ebp - 0x60]
mov dword [esi + 0x20], edx
mov dl, cl
shr dl, 2
mov dword [esi + 0x24], eax
and edx, 1
mov al, cl
shr al, 3
mov byte [esi + 0xe9], dl
mov dl, cl
and eax, 1
shr dl, 1
mov byte [esi + 0xe8], al
and edx, 1
mov byte [esi + 0xea], dl
mov dl, cl
and edx, 1
mov byte [esi + 0xeb], dl
mov byte [edi + 6], al
mov al, byte [esi + 0xe9]
mov byte [edi + 7], al
mov al, byte [esi + 0xea]
mov byte [edi + 8], al
mov al, byte [esi + 0xeb]
mov byte [edi + 9], al
jmp 0x427da5
cmp dword [esi], 5
jne 0x42880d
nop
mov eax, 0x80200001
jmp 0x427b61
mov eax, 0x80200003
jmp 0x427b61
mov ebx, 0xc
jmp 0x427e00
test ecx, ecx
jne 0x4282ab
add eax, 4
jmp 0x4282ab
test ecx, ecx
jne 0x42825f
mov ebx, dword [ebp + 0xc]
xor ecx, ecx
mov cl, byte [ebx + 6]
add ecx, ecx
and ecx, 2
lea eax, [eax + ecx + 4]
jmp 0x42825f
mov eax, dword [esi + 0x24]
mov ecx, eax
and ecx, 0x800
je 0x42804a
jmp 0x42803d
mov dl, byte [esi + 8]
mov byte [esi + 0xfa], dl
cmp dl, 0xe
ja 0x427b98
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x427b5c
mov eax, dword [ebp - 0x24]
inc edx
dec ecx
lea ebx, [eax + 1]
mov al, byte [eax]
mov byte [esi + 8], dl
mov dl, al
shr dl, 6
mov dword [ebp - 0x24], ebx
mov byte [esi + 0xf7], dl
mov dl, al
mov ebx, dword [esi + 0x20]
and eax, 7
shr dl, 3
or ebx, 1
and edx, 7
mov dword [esi + 0x20], ebx
mov dword [ebp - 0x20], ecx
mov byte [esi + 0xf8], dl
mov bl, al
mov byte [esi + 0xf9], al
jmp 0x427f28
mov al, byte [esi + 8]
mov byte [esi + 0xfa], al
cmp al, 0xe
ja 0x427b98
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x427b5c
mov edx, dword [ebp - 0x24]
inc eax
dec ecx
lea ebx, [edx + 1]
mov dl, byte [edx]
mov byte [esi + 8], al
mov eax, dword [esi + 0x20]
or eax, 1
mov dword [ebp - 0x24], ebx
mov bl, dl
mov dword [esi + 0x20], eax
shr bl, 3
mov al, dl
shr al, 6
and ebx, 7
and edx, 7
mov dword [ebp - 0x20], ecx
mov byte [esi + 0xf7], al
mov byte [esi + 0xf8], bl
mov byte [esi + 0xf9], dl
jmp 0x427f28
mov byte [edi], 0
mov edx, 0x1b
mov eax, dword [ebp + 0xc]
lea edi, [eax + 1]
jmp 0x42796d
mov word [edi], 0
sub edx, 2
add edi, 2
jmp 0x427979
mov byte [esi], 0
lea edi, [esi + 1]
mov edx, 0x13f
jmp 0x4279b0
mov word [edi], 0
sub edx, 2
add edi, 2
jmp 0x4279bc
xor ebx, ebx
test ecx, ecx
sete bl
jmp 0x427e00
mov al, 8
jmp 0x42828e
mov dl, byte [esi + 8]
cmp dl, 0xe
ja 0x427b98
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x60], eax
test eax, eax
je 0x427b5c
mov ecx, dword [ebp - 0x24]
lea eax, [ecx + 1]
mov bl, byte [ecx]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x24], eax
lea eax, [edx + 1]
mov byte [esi + 0x14], bl
mov byte [ebp - 0x64], al
mov byte [esi + 8], al
mov eax, dword [ebp - 0x60]
dec eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x20], eax
cmp dword [esi + 0x10], 1
je 0x429318
ja 0x427f28
cmp bl, 0x8f
je 0x429670
ja 0x429308
cmp bl, 0xf
jne 0x4290f8
mov dword [esi + 0x10], 1
jmp 0x427f28
xor eax, eax
xor edx, edx
mov al, byte [esi + 0xef]
mov dl, byte [esi + 0xec]
xor ebx, ebx
lea eax, [edx + eax*8 + 1]
mov bx, ax
jmp 0x427e00
mov edi, dword [ebp + 0xc]
xor eax, eax
xor ecx, ecx
mov edx, esi
mov al, byte [edi + 5]
mov cl, byte [ebx + eax + 1]
lea eax, [ebp - 0x2c]
call fcn.004274c0
test eax, eax
js 0x427b61
mov al, byte [ebx]
jmp 0x42834d
cmp byte [ebp - 0x68], 0
mov al, cl
je 0x428e03
shr al, 4
mov byte [ebp - 0x7d], al
mov al, cl
and eax, 0xf
mov byte [ebp - 0x6c], al
xor eax, eax
mov al, byte [ebp - 0x60]
mov dword [ebp - 0x8c], eax
mov eax, ecx
and eax, 0xf
mov dword [ebp - 0x90], eax
xor eax, eax
mov al, byte [ebp - 0x64]
mov dword [ebp - 0x78], eax
mov eax, dword [esi]
test eax, eax
sete byte [ebp - 0x82]
jmp 0x428493
xor eax, eax
mov ebx, 2
mov al, byte [ebp - 0x11]
mov dword [esi + eax*8 + 0x6c], 2
mov ecx, dword [esi + 0x24]
and ch, 0xf7
mov dword [esi + 0x24], ecx
jmp 0x427fe8
mov ecx, 0x10
mov edx, esi
lea eax, [ebp - 0x2c]
call fcn.004274c0
test eax, eax
js 0x427b61
mov al, byte [esi + 0xf7]
cmp al, 3
je 0x42833a
mov cl, byte [ebx]
and ecx, 0x10
jmp 0x428334
xor eax, eax
mov ebx, 3
mov al, byte [ebp - 0x11]
mov dword [esi + eax*8 + 0x6c], 2
jmp 0x427fe8
xor eax, eax
mov ebx, 4
mov al, byte [ebp - 0x11]
mov dword [esi + eax*8 + 0x6c], 2
jmp 0x427fe8
mov cl, byte [esi + 8]
mov byte [esi + 0xfa], cl
cmp cl, 0xe
ja 0x427b98
mov edx, dword [ebp - 0x20]
test edx, edx
je 0x427b5c
mov eax, dword [ebp - 0x24]
dec edx
mov dword [ebp - 0x20], edx
mov edx, dword [esi + 0x20]
lea edi, [eax + 1]
or edx, 1
mov al, byte [eax]
mov dword [esi + 0x20], edx
mov dl, al
inc ecx
shr dl, 6
mov byte [esi + 8], cl
mov byte [esi + 0xf7], dl
mov dl, al
shr dl, 3
and eax, 7
and edx, 7
mov byte [esi + 0xf9], al
mov byte [esi + 0xf8], dl
mov dword [ebp - 0x24], edi
mov al, byte [ebx]
jmp 0x4282f8
mov al, byte [esi + 8]
cmp al, 0xe
ja 0x427b98
mov edx, dword [ebp - 0x20]
test edx, edx
je 0x427b5c
mov ecx, dword [ebp - 0x24]
inc eax
dec edx
lea ebx, [ecx + 1]
mov cl, byte [ecx]
mov byte [esi + 0x14], cl
mov byte [esi + 8], al
mov dword [esp + 4], 0xf
mov dword [esp], 0x4487f8
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x24], ebx
call fcn.0042b310
mov dword [esp + 4], 0xf
mov dword [esp], eax
call fcn.0042b310
xor edx, edx
mov dl, byte [esi + 0x14]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0042b310
mov edx, eax
mov eax, 0x80200001
cmp byte [edx], 0
je 0x427b61
xor eax, eax
lea edi, [ebp - 0x54]
cmp byte [esi + 0xf7], 3
setne al
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0042b310
mov dword [esp + 8], edi
xor edi, edi
mov di, word [eax + 1]
mov eax, edi
mov dword [esp + 4], eax
mov eax, dword [esi + 0xc]
mov dword [esp], eax
call fcn.00434e10
mov ebx, dword [ebp - 0x54]
jmp 0x428780
and eax, 7
and ecx, 8
mov byte [ebp - 0x6c], al
je 0x428e2a
mov edi, dword [ebp + 8]
mov edx, dword [edi]
test edx, edx
jne 0x428e2a
cmp byte [esi + 0xf7], 0
jne 0x428e2a
cmp byte [ebp - 0x5c], 5
je 0x4289e8
xor edx, edx
mov edi, eax
xor eax, eax
and edi, 0xff
mov al, byte [ebp - 0x64]
mov dl, byte [ebp - 0x60]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x8c], edx
mov eax, dword [esi]
mov dword [ebp - 0x90], edi
test eax, eax
sete byte [ebp - 0x82]
cmp byte [ebp - 0x6c], 4
sete cl
cmp byte [ebp - 0x5c], 4
sete dl
mov edi, edx
mov dl, cl
and edx, edi
test eax, eax
mov eax, dword [ebp + 0xc]
mov byte [ebp - 0x83], dl
mov cl, byte [esi + 0xf8]
mov al, byte [eax + 0xe]
jne 0x428f44
mov byte [ebp - 0x81], al
mov eax, dword [ebp - 0x70]
sub eax, 4
mov dword [ebp - 0x98], eax
mov eax, dword [ebp + 0xc]
mov al, byte [eax + 0xd]
mov edi, eax
and edi, 0xff
shl edi, 4
mov dword [ebp - 0x7c], edi
cmp byte [ebp - 0x5c], 4
jne 0x429eee
mov al, byte [esi + 0xfc]
mov byte [ebp - 0x92], al
mov al, byte [esi + 0xfd]
cmp byte [ebp - 0x83], 0
mov byte [ebp - 0x93], al
je 0x42a133
mov al, byte [ebp - 0x7c]
mov byte [ebp - 0x7d], 0
mov byte [ebp - 0x84], al
jmp 0x4284ed
cmp cl, 3
je 0x42833a
cmp byte [esi + 0xf9], 4
je 0x429597
cmp cl, 2
je 0x428f28
test cl, cl
jne 0x429350
cmp byte [esi + 0xf9], 5
jne 0x428334
mov eax, dword [esi]
test eax, eax
jne 0x428f28
or dword [esi + 0x20], 0x80
mov ecx, 0x20
mov edx, esi
lea eax, [ebp - 0x2c]
call fcn.004274c0
test eax, eax
jns 0x428cba
jmp 0x427b61
and eax, 7
mov byte [ebp - 0x70], al
mov al, byte [esi + 0xfc]
cmp byte [ebp - 0x5c], 4
mov byte [ebp - 0x7c], al
jne 0x429f2e
mov al, byte [esi + 0xfd]
mov byte [ebp - 0x7d], 0
mov byte [ebp - 0x81], al
jmp 0x4285a0
and eax, 7
mov byte [ebp - 0x83], 0
mov byte [ebp - 0x70], al
mov al, byte [esi + 0xfc]
mov byte [ebp - 0x7c], al
mov al, byte [ebp - 0x5c]
mov byte [ebp - 0x81], al
jmp 0x4285a0
mov al, byte [ebx + 0xc]
test al, 0x60
je 0x428fc1
shr al, 5
mov edx, dword [esi + 0x20]
and eax, 3
mov ecx, dword [eax*8 + 0x4485e0]
mov edi, dword [eax*8 + 0x4485e4]
or edx, ecx
mov ecx, dword [esi + 0x24]
or ecx, edi
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], ecx
mov dl, byte [ebx + 0xd]
mov al, dl
and eax, 3
je 0x428ff1
and eax, 0xff
mov edx, dword [esi + 0x20]
mov ecx, dword [eax*8 + 0x4485c0]
mov edi, dword [eax*8 + 0x4485c4]
or edx, ecx
mov ecx, dword [esi + 0x24]
or ecx, edi
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], ecx
mov dl, byte [ebx + 0xd]
test dl, 0xc
je 0x42901c
mov al, dl
mov edx, dword [esi + 0x20]
shr al, 2
and eax, 3
mov ecx, dword [eax*8 + 0x4485a0]
mov edi, dword [eax*8 + 0x4485a4]
or edx, ecx
mov ecx, dword [esi + 0x24]
or ecx, edi
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0xc]
test edx, edx
je 0x42938e
test byte [ebx + 0xd], 0x10
je 0x42907c
mov edi, dword [esi + 0x20]
mov al, byte [ebp - 0x19]
or edi, 0x4000000
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x20], edi
test al, al
je 0x429067
cmp al, 0x3e
je 0x429c05
ja 0x429850
cmp al, 0x2e
je 0x429c26
cmp al, 0x36
jne 0x429c1b
or ecx, 0x40
mov dword [esi + 0x24], ecx
and ecx, 0x7e0
je 0x42907c
xor eax, eax
mov al, byte [ebp - 0x12]
mov dword [esi + eax*8 + 0x6c], 1
lea eax, [edx - 2]
cmp eax, 3
ja 0x4290b3
cmp edx, 4
je 0x429a9a
cmp edx, 5
je 0x4298de
mov edi, dword [ebp + 0xc]
xor eax, eax
cmp edx, 3
mov al, byte [edi + 0xb]
je 0x429863
mov ax, word [eax + eax + 0x448588]
mov word [esi + 0x30], ax
lea eax, [ebp - 0x4c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00434f20
test al, al
je 0x4290cf
mov edx, dword [esi + 0x20]
or dh, 2
mov dword [esi + 0x20], edx
mov eax, dword [ebp - 0x4c]
mov dword [esi + 0x28], eax
add eax, 0x14
mov dword [esi + 0x2c], eax
jmp 0x4287f0
cmp byte [ebp - 0x7d], 0
je 0x427d3b
mov al, byte [ebp - 0x8c]
mov byte [ebp - 0x17], al
jmp 0x427af3
cmp bl, 0x62
jne 0x427f28
cmp byte [ebp - 0x64], 0xf
je 0x427b98
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x427b5c
mov al, byte [ecx + 1]
and eax, 0xfffffff0
cmp al, 0xbf
ja 0x429129
cmp dword [esi], 0
jne 0x427f28
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x70], eax
mov eax, dword [esi + 0x24]
test byte [ebp - 0x70], 4
mov dword [ebp - 0x74], eax
jne 0x4298c5
cmp byte [ebp - 0x1c], 0
jne 0x4297eb
cmp byte [ebp - 0x18], 0
jne 0x429c31
mov dword [ebp - 0x4c], 0
cmp bl, 0xc4
mov byte [ebp - 0x4c], bl
je 0x429c67
cmp bl, 0xc5
je 0x42a04f
cmp byte [ebp - 0x64], 0xc
ja 0x427b98
cmp dword [ebp - 0x68], 2
jbe 0x427b5c
lea eax, [edx + 4]
add ecx, 4
mov byte [esi + 8], al
mov ax, word [ecx - 3]
mov dword [ebp - 0x24], ecx
mov word [ebp - 0x4b], ax
mov eax, dword [ebp - 0x6c]
mov cl, byte [ebp - 0x4a]
mov al, byte [eax + 2]
mov byte [ebp - 0x49], al
mov eax, dword [ebp - 0x60]
sub eax, 4
mov dword [ebp - 0x20], eax
test cl, 4
jne 0x429d3c
mov eax, dword [ebp + 8]
mov byte [esi + 0xf4], dl
cmp dword [eax], 0
jne 0x4289d8
cmp dword [esi], 0
mov dword [esi + 0xc], 5
jne 0x4289d8
mov eax, dword [ebp - 0x70]
or eax, 0x40
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x74]
mov dword [esi + 0x24], eax
mov al, byte [ebp - 0x4b]
mov dl, al
shr dl, 7
mov byte [esi + 0xe8], dl
mov dl, al
shr dl, 6
and edx, 1
mov byte [esi + 0xe9], dl
mov dl, al
shr dl, 5
and edx, 1
mov byte [esi + 0xea], dl
mov dl, al
shr dl, 4
and edx, 1
mov byte [esi + 0xeb], dl
mov dl, al
and edx, 0xf
test al, 0xc
mov byte [esi + 0xec], dl
jne 0x429d32
mov dl, cl
mov al, cl
shr dl, 3
and ecx, 3
and edx, 0xf
mov byte [esi + 0xef], cl
shr al, 7
mov byte [esi + 0xee], dl
mov dl, byte [ebp - 0x49]
mov byte [esi + 0xed], al
shr dl, 7
mov byte [esi + 0xf0], dl
mov dl, byte [ebp - 0x49]
shr dl, 4
and edx, 7
mov byte [esi + 0xf1], dl
mov dl, byte [ebp - 0x49]
shr dl, 3
and edx, 1
mov byte [esi + 0xf2], dl
mov dl, byte [ebp - 0x49]
and edx, 7
mov byte [esi + 0xf3], dl
mov edx, dword [ebp + 0xc]
mov byte [edx + 6], al
mov al, byte [esi + 0xe8]
not eax
and eax, 1
mov byte [edx + 7], al
mov al, byte [esi + 0xe9]
not eax
and eax, 1
mov byte [edx + 8], al
mov al, byte [esi + 0xea]
not eax
and eax, 1
mov byte [edx + 9], al
mov al, byte [esi + 0xeb]
not eax
and eax, 1
mov byte [edx + 0xc], al
mov al, byte [esi + 0xf2]
mov byte [edx + 0xb], 2
not eax
and eax, 1
mov byte [edx + 0xd], al
mov al, byte [esi + 0xee]
not eax
and eax, 0xf
mov byte [edx + 0xe], al
mov al, byte [esi + 0xf3]
mov byte [edx + 0xf], al
xor eax, eax
mov al, byte [esi + 0xec]
mov dword [esi + 0x10], eax
mov bl, byte [esi + 0x14]
jmp 0x427f28
lea eax, [ebx + 0x3c]
cmp al, 1
ja 0x427f28
jmp 0x429101
cmp bl, 0x38
je 0x429801
cmp bl, 0x3a
je 0x4297f5
cmp bl, 0xf
jne 0x427f28
cmp byte [ebp - 0x1c], 0
jne 0x4297eb
mov dword [esi + 0xc], 1
mov dword [esi + 0x10], 8
jmp 0x427f28
mov ecx, 8
jmp 0x428f2d
mov al, byte [ebp - 0x64]
cmp al, 8
je 0x4297d0
test al, al
mov eax, dword [ebp + 0xc]
je 0x429661
mov byte [eax + 0x11], cl
mov byte [ebp - 0x5c], 0xff
jmp 0x428669
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0xf], 0
jne 0x428776
jmp 0x4288f7
mov al, byte [ebx + 0xd]
test al, 0x20
je 0x4293a1
mov eax, dword [esi + 0x20]
or ah, 1
mov dword [esi + 0x20], eax
mov al, byte [ebx + 0xd]
test al, 0x40
je 0x4293d1
mov eax, dword [esi + 0x20]
mov edx, eax
or edx, 0x10000
mov dword [esi + 0x20], edx
cmp byte [ebp - 0x1c], 0
je 0x4293ce
or eax, 0x8010000
mov dword [esi + 0x20], eax
xor eax, eax
mov al, byte [ebp - 0x17]
mov dword [esi + eax*8 + 0x6c], 1
mov al, byte [ebx + 0xd]
test al, al
jns 0x4293e1
mov edi, dword [esi + 0x20]
or edi, 0x20000
mov dword [esi + 0x20], edi
mov al, byte [ebx + 0xe]
test al, 1
je 0x4293f7
mov ecx, dword [esi + 0x20]
or ecx, 0x40000
mov dword [esi + 0x20], ecx
mov al, byte [ebx + 0xe]
test al, 2
je 0x42940a
mov edx, dword [esi + 0x20]
or edx, 0x80000
mov dword [esi + 0x20], edx
mov al, byte [ebx + 0xe]
test al, 4
je 0x42941c
mov eax, dword [esi + 0x20]
or eax, 0x100000
mov dword [esi + 0x20], eax
mov al, byte [ebx + 0xe]
test al, 8
je 0x42942e
mov eax, dword [esi + 0x20]
or eax, 0x200000
mov dword [esi + 0x20], eax
mov al, byte [ebx + 0xe]
test al, 0x10
je 0x429440
mov eax, dword [esi + 0x20]
or eax, 0x400000
mov dword [esi + 0x20], eax
mov al, byte [ebx + 0xe]
test al, 0x40
je 0x42944f
mov eax, dword [esi + 0x20]
or eax, 0x800000
mov dword [esi + 0x20], eax
mov al, byte [ebp - 0x1b]
cmp al, 0xf2
je 0x429828
cmp al, 0xf3
jne 0x429477
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
test eax, 0x20000
je 0x4298ad
or eax, 0x10000000
mov dword [esi + 0x20], eax
xor eax, eax
mov al, byte [ebp - 0x16]
lea edx, [eax + 0xc]
mov eax, dword [esi + eax*8 + 0x6c]
test eax, eax
jne 0x4294a2
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
and ecx, 0xf0000000
and eax, 3
or eax, ecx
je 0x4294a2
mov dword [esi + edx*8 + 0xc], 1
mov al, byte [ebx + 0xe]
test al, al
js 0x429628
test al, 0x20
je 0x4294df
mov ecx, dword [esi + 0x20]
mov eax, dword [ebp + 8]
or ecx, 0x2000000
mov edx, dword [esi + 0x24]
mov dword [esi + 0x20], ecx
test byte [eax + 8], 0x10
je 0x4294df
movsx eax, byte [ebp - 0x10]
test al, al
js 0x4294df
or edx, 0x10
mov dword [esi + 0x24], edx
mov dword [esi + eax*8 + 0x6c], 1
test byte [ebx + 0xd], 0x10
je 0x4290b3
cmp byte [ebx + 0xe], 0
js 0x4290b3
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
or edx, 0x4000000
mov dword [esi + 0x20], edx
mov dl, byte [ebp - 0x19]
test dl, dl
je 0x429534
test al, 0x10
jne 0x429534
cmp dl, 0x3e
je 0x42a03a
ja 0x429ba9
cmp dl, 0x2e
je 0x429f4b
cmp dl, 0x36
jne 0x429f40
or eax, 0x40
mov dword [esi + 0x24], eax
test eax, 0x7e0
je 0x4290b3
xor eax, eax
mov al, byte [ebp - 0x12]
mov dword [esi + eax*8 + 0x6c], 1
jmp 0x4290b3
mov al, byte [ebp - 0x70]
cmp al, cl
mov edi, eax
sete byte [ebp - 0x91]
mov al, cl
jmp 0x4286e8
mov eax, dword [ebp - 0x70]
mov byte [ebp - 0x80], 0
mov dword [ebp - 0x88], eax
mov byte [ebp - 0x7f], 0
mov byte [ebp - 0x7e], 0
jmp 0x428428
mov al, byte [ebp - 0x7f]
mov byte [ebp - 0x1b], al
jmp 0x427d3b
mov edi, 0xfffffff0
mov al, 0xf1
jmp 0x4286e8
cmp cl, 2
je 0x4298a4
test cl, cl
setne al
shl eax, 3
mov byte [ebp - 0x60], al
mov al, byte [esi + 8]
mov byte [esi + 0xfe], al
cmp al, 0xe
ja 0x427b98
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x64], edi
test edi, edi
je 0x427b5c
mov edx, dword [ebp - 0x24]
inc eax
lea edi, [edx + 1]
mov dl, byte [edx]
mov byte [esi + 8], al
mov eax, dword [ebp - 0x64]
dec eax
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], eax
mov al, dl
shr al, 6
mov edi, dword [esi + 0x20]
mov byte [esi + 0xfb], al
mov al, dl
shr al, 3
or edi, 2
and eax, 7
and edx, 7
mov dword [esi + 0x20], edi
mov byte [esi + 0xfc], al
mov byte [esi + 0xfd], dl
cmp dl, 5
je 0x429892
cmp byte [ebp - 0x60], 0
je 0x428cba
xor ecx, ecx
mov cl, byte [ebp - 0x60]
jmp 0x428c9a
mov edi, dword [esi + 0x20]
mov al, byte [ebp - 0x1a]
or edi, 0x1000000
mov edx, dword [esi + 0x24]
mov dword [esi + 0x20], edi
cmp al, 0x2e
je 0x4298cf
cmp al, 0x3e
jne 0x429659
or edx, 8
xor eax, eax
mov dword [esi + 0x24], edx
mov al, byte [ebp - 0x15]
mov dword [esi + eax*8 + 0x6c], 1
mov al, byte [ebx + 0xe]
jmp 0x4294ad
mov byte [eax + 0x11], 0xff
mov cl, 0xff
mov byte [ebp - 0x5c], 0xff
jmp 0x428669
cmp byte [ebp - 0x64], 0xf
je 0x427b98
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x427b5c
test byte [ecx + 1], 0x18
je 0x427f28
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x6c], eax
test al, 4
jne 0x4298c5
cmp byte [ebp - 0x1c], 0
jne 0x4297eb
cmp byte [ebp - 0x18], 0
jne 0x429c31
cmp byte [ebp - 0x64], 0xe
mov byte [esi + 0xf0], dl
je 0x427b98
cmp dword [ebp - 0x68], 1
je 0x427b5c
add edx, 3
add ecx, 3
mov byte [esi + 8], dl
mov dx, word [ecx - 2]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x60]
mov dword [esi + 0xc], 2
sub ecx, 3
cmp dword [esi], 5
mov dword [ebp - 0x20], ecx
je 0x4289d8
or eax, 8
mov dword [esi + 0x20], eax
mov al, dl
shr al, 7
mov byte [esi + 0xe8], al
mov al, dl
shr al, 6
and eax, 1
mov byte [esi + 0xe9], al
mov al, dl
shr al, 5
and eax, 1
mov byte [esi + 0xea], al
mov al, dl
and eax, 0x1f
mov byte [esi + 0xeb], al
sub eax, 8
cmp al, 2
ja 0x429d32
mov eax, edx
shr ax, 0xf
mov byte [esi + 0xec], al
mov ebx, eax
mov eax, edx
shr ax, 0xb
movzx ecx, dh
and eax, 0xf
and ecx, 3
shr dx, 0xa
mov byte [esi + 0xed], al
mov eax, edx
mov byte [esi + 0xef], cl
and eax, 1
mov edx, dword [ebp + 0xc]
mov byte [esi + 0xee], al
mov eax, dword [ebp + 0xc]
mov byte [eax + 6], bl
mov al, byte [esi + 0xe8]
not eax
and eax, 1
mov byte [edx + 7], al
mov al, byte [esi + 0xe9]
not eax
and eax, 1
mov byte [edx + 8], al
mov al, byte [esi + 0xea]
not eax
and eax, 1
mov byte [edx + 9], al
mov al, byte [esi + 0xee]
mov byte [edx + 0xa], al
mov byte [edx + 0xb], al
mov byte [ebp - 0x60], al
mov al, byte [esi + 0xed]
not eax
and eax, 0xf
mov byte [edx + 0xe], al
xor eax, eax
mov al, byte [esi + 0xeb]
inc eax
jmp 0x4292f8
movsx eax, cl
xor edi, edi
test cl, cl
jns 0x42863d
cmp byte [ebp - 0x6c], 0
setne al
and eax, edi
jmp 0x42865b
mov eax, 0x80200004
jmp 0x427b61
mov dword [esi + 0x10], 3
jmp 0x427f28
mov dword [esi + 0x10], 2
jmp 0x427f28
cmp byte [ebp - 0x6c], 8
je 0x42862a
movsx eax, cl
mov edi, 1
jmp 0x4297d5
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
test eax, 0x80000
je 0x429b02
or eax, 0x40000000
mov dword [esi + 0x20], eax
jmp 0x429477
mov ecx, 0x10
jmp 0x428f2d
cmp al, 0x64
je 0x429c10
or ch, 4
mov dword [esi + 0x24], ecx
jmp 0x429067
mov ax, word [eax + eax + 0x448588]
mov word [esi + 0x30], ax
test byte [ebx + 0xf], 7
je 0x4290b3
mov byte [esi + 0x3c], 1
mov al, byte [ebx + 0xf]
and eax, 7
mov eax, dword [eax*4 + 0x44856c]
mov dword [esi + 0x40], eax
jmp 0x4290b3
dec cl
je 0x429350
mov ecx, 0x20
jmp 0x428c9a
mov byte [ebp - 0x60], 0x20
jmp 0x4295ab
test eax, 0x40000
je 0x429c3b
or eax, 0x20000000
mov dword [esi + 0x20], eax
jmp 0x429477
mov eax, 0x80200006
jmp 0x427b61
or edx, 4
jmp 0x429649
mov al, 1
jmp 0x428653
mov word [esi + 0x30], 0x200
mov al, 1
mov dl, byte [ebx + 0xf]
test dl, dl
js 0x42991e
mov al, byte [ebx + 0x10]
and al, 7
je 0x42991e
mov byte [esi + 0x3c], 1
mov al, byte [ebx + 0x10]
and eax, 7
cmp al, 3
je 0x42a160
ja 0x42a14f
cmp al, 1
jne 0x42a171
mov dword [esi + 0x40], 3
mov dl, byte [ebx + 0xf]
mov cl, dl
and ecx, 0x1f
cmp cl, 0x14
ja 0x4299b8
cmp cl, 9
ja 0x429977
cmp cl, 7
ja 0x429945
cmp cl, 3
jbe 0x429945
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x19], 0x40
mov dl, byte [ebx + 0xf]
mov eax, dword [ebp + 0xc]
and edx, 0x1f
mov byte [eax + 0x18], dl
mov cl, byte [ebx + 0xf]
and ecx, 0x1f
cmp cl, 0x11
ja 0x429a65
lea eax, [ecx + 0x1e]
and eax, 0x1f
cmp al, 0xf
ja case.0x42a1c7.0
and eax, 0xff
jmp dword [eax*4 + 0x448140]
mov edx, 1
shl edx, cl
test edx, 0x11c000
jne 0x429ff9
and edx, 0x41c00
je case.default.0x4299d2
xor edx, edx
and eax, 0xff
mov dl, byte [esi + 0xf1]
mov edi, dword [ebp + 0xc]
mov al, byte [edx + eax*8 + 0x448424]
mov byte [edi + 0x19], al
mov byte [ebp - 0x5c], al
mov dl, byte [ebx + 0xf]
jmp 0x429945
lea edx, [ecx + 0xa]
and edx, 0x1f
cmp dl, 3
ja case.default.0x4299d2
and edx, 0xff
and eax, 0xff
jmp dword [edx*4 + 0x448180]
xor edx, edx
mov edi, dword [ebp + 0xc]
mov dl, byte [esi + 0xf1]
mov al, byte [edx + eax*8 + 0x4483f0]
mov byte [edi + 0x19], al
mov byte [ebp - 0x5c], al
mov dl, byte [ebx + 0xf]
jmp 0x429945
xor edx, edx
mov edi, dword [ebp + 0xc]
mov dl, byte [esi + 0xf1]
mov al, byte [eax + edx + 0x4483ec]
mov byte [edi + 0x19], al
mov byte [ebp - 0x5c], al
mov dl, byte [ebx + 0xf]
jmp 0x429945
mov al, byte [esi + 0xf1]
and eax, 3
inc eax
mov dword [esi + 0x44], eax
cmp byte [esi + 0xf1], 3
jbe case.0x42a1c7.0
mov byte [esi + 0x50], 1
cmp byte [esi + 0xf7], 3
je 0x429a49
cmp byte [esi + 0xf0], 0
je 0x429a49
mov byte [esi + 0x51], 1
xor eax, eax
mov dword [esi + 0x34], 2
mov al, byte [esi + 0xf3]
add eax, 0xf8
mov dword [esi + 0x38], eax
jmp 0x4290b3
mov eax, 1
shl eax, cl
test eax, 0x2a80000
jne case.0x42a1c7.0
test eax, 0x1100000
je 0x42a1b2
cmp byte [esi + 0xf1], 7
ja case.default.0x429afb
xor eax, eax
mov al, byte [esi + 0xf1]
jmp dword [eax*4 + 0x448190]
mov eax, dword [ebp + 0xc]
mov dl, byte [eax + 0xb]
mov al, byte [ebx + 0xf]
and al, 3
je 0x429aaa
lea edx, [eax - 1]
and edx, 0xff
mov edi, dword [ebp + 0xc]
mov ax, word [edx + edx + 0x448564]
mov word [esi + 0x30], ax
mov al, byte [ebx + 0xf]
shr al, 2
and eax, 0x1f
mov byte [edi + 0x16], al
test byte [ebx + 0xf], 0x7c
je 0x429b33
mov al, byte [ebx + 0x10]
and eax, 7
mov al, byte [eax + 0x44855c]
mov byte [edi + 0x17], al
mov cl, byte [ebx + 0xf]
shr cl, 2
add ecx, 0x1f
and ecx, 0x1f
cmp cl, 0xf
ja case.default.0x429afb
and ecx, 0xff
jmp dword [ecx*4 + 0x4481b0]
test eax, 0x200000
je 0x429bdd
test eax, 0x8000000
jne 0x429b1e
test byte [ebx + 0xe], 0x40
je 0x429bdd
or edx, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
jmp 0x429477
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x19], 0x10
test byte [ebx + 0x11], 0x3c
je 0x429b50
mov byte [esi + 0x3c], 1
mov al, byte [ebx + 0x11]
shr al, 2
and eax, 0xf
mov eax, dword [eax*4 + 0x448440]
mov dword [esi + 0x40], eax
cmp byte [esi + 0xf3], 0
je 0x429b72
mov al, byte [ebx + 0x10]
shr al, 3
and eax, 3
cmp al, 2
je 0x42a1ce
cmp al, 3
jne 0x429b72
mov byte [esi + 0x50], 1
xor eax, eax
mov dl, byte [esi + 0xf5]
mov al, dl
add eax, 0xf8
mov dword [esi + 0x38], eax
mov al, byte [ebx + 0x11]
and eax, 3
cmp al, 1
je 0x429bd6
cmp al, 2
je 0x429bc9
xor eax, eax
mov al, byte [esi + 0xf0]
add eax, 2
test dl, dl
je 0x429bbd
mov dword [esi + 0x34], eax
jmp 0x4290b3
cmp dl, 0x64
je 0x42a044
or ah, 4
mov dword [esi + 0x24], eax
jmp 0x429534
mov dword [esi + 0x34], 1
jmp 0x4290b3
xor eax, eax
mov al, byte [esi + 0xf0]
add eax, 4
jmp 0x429b9d
mov eax, 3
jmp 0x429b9d
mov edi, dword [ebp + 8]
test byte [edi + 8], 8
je 0x429477
test eax, 0x100000
je 0x429477
or eax, 0x80000000
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], eax
jmp 0x429477
or cl, 0x80
mov dword [esi + 0x24], ecx
jmp 0x429067
or ch, 2
mov dword [esi + 0x24], ecx
jmp 0x429067
or ch, 1
mov dword [esi + 0x24], ecx
jmp 0x429067
or ecx, 0x20
mov dword [esi + 0x24], ecx
jmp 0x429067
mov eax, 0x80200005
jmp 0x427b61
test eax, 0x400000
je 0x429477
test eax, 0x8000000
jne 0x429c57
test byte [ebx + 0xe], 0x40
je 0x429477
mov dword [esi + 0x20], eax
mov eax, edx
or eax, 2
mov dword [esi + 0x24], eax
jmp 0x429477
cmp byte [ebp - 0x64], 0xe
mov byte [esi + 0xf0], dl
je 0x427b98
cmp dword [ebp - 0x68], 1
je 0x427b5c
add edx, 3
add ecx, 3
mov byte [esi + 8], dl
mov edx, dword [ebp - 0x60]
mov ax, word [ecx - 2]
sub edx, 3
mov word [ebp - 0x4b], ax
cmp dword [esi], 5
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], edx
mov dword [esi + 0xc], 3
je 0x4289d8
mov edx, dword [ebp - 0x70]
mov ebx, eax
or edx, 0x10
mov byte [esi + 0xf1], 3
shr bx, 0xf
mov dword [esi + 0x20], edx
mov dl, al
mov byte [esi + 0xec], bl
shr dl, 7
mov ebx, eax
shr bx, 0xb
mov byte [esi + 0xe8], dl
mov dl, al
mov ecx, ebx
shr dl, 6
mov ebx, eax
and edx, 1
and ecx, 0xf
mov byte [esi + 0xe9], dl
mov dl, al
shr dl, 5
mov byte [esi + 0xed], cl
shr bx, 0xa
and edx, 1
mov byte [esi + 0xea], dl
mov dl, al
and edx, 0x1f
mov ecx, ebx
mov byte [esi + 0xeb], dl
and ecx, 1
movzx edx, ah
and edx, 3
mov byte [esi + 0xee], cl
mov byte [esi + 0xef], dl
test al, 0x1c
je 0x42a0ca
mov eax, 0x80200007
jmp 0x427b61
mov eax, dword [esi]
mov byte [esi + 0xf6], dl
mov dword [esi + 0xc], 4
mov dword [ebp - 0x60], eax
cmp eax, 5
je 0x4289d8
mov eax, dword [ebp - 0x70]
or eax, 0x20
mov dword [esi + 0x20], eax
mov al, byte [ebp - 0x4b]
mov dl, al
shr dl, 7
mov byte [esi + 0xe8], dl
mov dl, al
shr dl, 6
and edx, 1
mov byte [esi + 0xe9], dl
mov dl, al
shr dl, 5
and edx, 1
mov byte [esi + 0xea], dl
mov dl, al
shr dl, 4
and edx, 1
test al, 8
mov byte [esi + 0xeb], dl
jne 0x429ee4
mov dl, al
and edx, 7
test al, 3
mov byte [esi + 0xec], dl
je 0x429d32
cmp dl, 7
je 0x429d32
mov al, cl
mov bl, cl
shr al, 3
and ecx, 3
and eax, 0xf
mov byte [esi + 0xef], cl
shr bl, 7
mov byte [esi + 0xee], al
mov al, byte [ebp - 0x49]
mov byte [esi + 0xed], bl
mov cl, al
mov dl, al
shr cl, 6
shr dl, 7
and ecx, 1
mov byte [esi + 0xf1], cl
mov cl, al
shr cl, 5
mov byte [esi + 0xf0], dl
mov byte [ebp - 0x64], cl
and ecx, 1
mov byte [esi + 0xf2], cl
mov cl, al
shr cl, 4
and ecx, 1
mov byte [esi + 0xf3], cl
mov cl, al
shr cl, 3
and ecx, 1
mov byte [esi + 0xf4], cl
test cl, cl
jne 0x429e31
cmp dword [ebp - 0x60], 0
jne 0x429ee4
and eax, 7
mov byte [esi + 0xf5], al
test al, al
jne 0x429e46
test dl, dl
jne 0x4288f7
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov byte [eax + 6], bl
mov ebx, dword [ebp + 0xc]
mov al, byte [esi + 0xe8]
not eax
and eax, 1
mov byte [edx + 7], al
mov al, byte [esi + 0xe9]
not eax
and eax, 1
mov byte [edx + 8], al
mov al, byte [esi + 0xea]
not eax
and eax, 1
mov byte [edx + 9], al
mov eax, dword [ebp + 0xc]
mov dl, byte [ebp - 0x64]
and edx, 3
mov byte [eax + 0xb], dl
mov al, byte [esi + 0xeb]
not eax
and eax, 1
mov byte [ebx + 0xc], al
mov al, byte [esi + 0xf4]
not eax
and eax, 1
mov byte [ebx + 0xd], al
mov al, byte [esi + 0xee]
not eax
and eax, 0xf
mov byte [ebx + 0xe], al
mov al, byte [esi + 0xf5]
mov byte [ebx + 0xf], al
cmp byte [esi + 0xf4], 0
jne 0x429ec9
cmp dword [esi], 0
jne 0x429ee4
cmp byte [esi + 0xf3], 0
jne 0x429ed7
cmp dl, 3
je 0x429ee4
xor eax, eax
mov al, byte [esi + 0xec]
jmp 0x4292f8
mov eax, 0x80200008
jmp 0x427b61
mov byte [ebp - 0x7d], 0
jmp 0x4284c6
mov ebx, dword [ebp + 8]
cmp dword [ebx], 0
jne 0x427a76
mov cl, al
and ecx, 0xfffffff0
cmp cl, 0x40
jne 0x427cb8
mov byte [esi + 0xec], dl
mov byte [ebp - 0x60], al
jmp 0x427b2b
mov dword [ebp - 0x90], 0
jmp 0x428e56
mov al, byte [ebp - 0x5c]
mov byte [ebp - 0x7d], 0
mov byte [ebp - 0x81], al
jmp 0x4285a0
or ah, 1
mov dword [esi + 0x24], eax
jmp 0x429534
or eax, 0x20
mov dword [esi + 0x24], eax
jmp 0x429534
mov al, byte [esi + 0xf1]
cmp al, 1
je 0x429f90
cmp al, 2
jne case.0x42a1c7.0
mov dword [esi + 0x40], 0xa
jmp case.0x42a1c7.0
cmp byte [esi + 0xf1], 7
ja case.default.0x429afb
xor eax, eax
mov al, byte [esi + 0xf1]
jmp dword [eax*4 + 0x4481f0]
mov dword [esi + 0x40], 3
jmp case.0x42a1c7.0
mov dword [esi + 0x4c], 1
jmp case.0x42a1c7.0
mov dword [esi + 0x40], 0xb
jmp case.0x42a1c7.0
mov dword [esi + 0x40], 4
jmp case.0x42a1c7.0
xor eax, eax
mov al, byte [esi + 0xf1]
inc eax
mov dword [esi + 0x48], eax
jmp case.0x42a1c7.0
and eax, 0xff
xor edx, edx
mov dl, byte [esi + 0xf1]
mov edi, dword [ebp + 0xc]
lea eax, [eax + eax*2]
mov al, byte [edx + eax + str.__b__b]
mov byte [edi + 0x19], al
mov byte [ebp - 0x5c], al
mov dl, byte [ebx + 0xf]
jmp 0x429945
xor edx, edx
and eax, 0xff
mov dl, byte [esi + 0xf1]
mov edi, dword [ebp + 0xc]
mov al, byte [edx + eax*8 + 0x44840c]
mov byte [edi + 0x19], al
mov byte [ebp - 0x5c], al
mov dl, byte [ebx + 0xf]
jmp 0x429945
cmp byte [esi + 0xf1], 7
ja case.default.0x429afb
xor eax, eax
mov al, byte [esi + 0xf1]
jmp dword [eax*4 + 0x448210]
or al, 0x80
mov dword [esi + 0x24], eax
jmp 0x429534
or ah, 2
mov dword [esi + 0x24], eax
jmp 0x429534
mov byte [esi + 0xf0], dl
lea eax, [ecx + 2]
add edx, 2
mov dword [ebp - 0x24], eax
mov al, byte [ecx + 1]
mov byte [esi + 8], dl
mov edx, dword [ebp - 0x60]
mov byte [ebp - 0x4b], al
sub edx, 2
mov dword [esi + 0xc], 3
cmp dword [esi], 5
mov dword [ebp - 0x20], edx
je 0x4289d8
mov dl, al
mov ebx, dword [ebp - 0x70]
shr dl, 7
or ebx, 0x10
mov byte [esi + 0xe8], dl
mov dl, al
shr dl, 3
mov dword [esi + 0x20], ebx
and edx, 0xf
mov byte [esi + 0xf1], 2
mov byte [esi + 0xed], dl
mov dl, al
shr dl, 2
and eax, 3
and edx, 1
mov dword [esi + 0xe9], 0x10101
mov byte [esi + 0xee], dl
mov byte [esi + 0xef], al
mov edx, dword [ebp + 0xc]
mov al, byte [esi + 0xec]
mov byte [edx + 6], al
mov al, byte [esi + 0xe8]
not eax
and eax, 1
mov byte [edx + 7], al
mov al, byte [esi + 0xe9]
not eax
and eax, 1
mov byte [edx + 8], al
mov al, byte [esi + 0xea]
not eax
and eax, 1
mov byte [edx + 9], al
mov al, byte [esi + 0xee]
mov byte [edx + 0xa], al
mov byte [edx + 0xb], al
mov byte [ebp - 0x60], al
mov al, byte [esi + 0xed]
not eax
and eax, 0xf
mov byte [edx + 0xe], al
xor eax, eax
mov al, byte [esi + 0xeb]
jmp 0x4292f8
mov byte [ebp - 0x5c], 0xff
jmp 0x428669
mov byte [ebp - 0x84], 0
mov byte [ebp - 0x7d], 0
jmp 0x4284ed
cmp byte [ebp - 0x6c], 0
setne al
jmp 0x428653
mov dword [esi + 0x40], 0xb
mov al, 2
mov dl, byte [ebx + 0xf]
jmp 0x42991e
mov dword [esi + 0x40], 0xa
mov al, 2
mov dl, byte [ebx + 0xf]
jmp 0x42991e
mov dword [esi + 0x40], 4
mov al, 1
mov dl, byte [ebx + 0xf]
jmp 0x42991e
mov dword [esi + 0x4c], 4
jmp case.0x42a1c7.0
mov dword [esi + 0x4c], 5
jmp case.0x42a1c7.0
mov dword [esi + 0x4c], 2
jmp case.0x42a1c7.0
mov dword [esi + 0x4c], 3
jmp case.0x42a1c7.0
cmp byte [esi + 0xf1], 7
ja case.default.0x429afb
xor eax, eax
mov al, byte [esi + 0xf1]
jmp dword [eax*4 + 0x448230]
mov edi, dword [ebp + 0xc]
xor eax, eax
mov al, byte [edi + 0xb]
inc eax
mov dword [esi + 0x44], eax
jmp 0x429b6e
mov edi, dword [ebp + 0xc]
mov al, byte [edx + 0x448492]
mov byte [ebp - 0x5c], al
mov byte [edi + 0x19], al
jmp 0x429b33
xor ecx, ecx
mov edi, dword [ebp + 0xc]
shr al, 5
mov cl, byte [esi + 0xf3]
imul ecx, ecx, 6
and eax, 0xff
lea eax, [eax + eax*2]
add eax, ecx
mov cl, byte [edx + eax + 0x4484f0]
add eax, edx
mov byte [edi + 0x19], cl
mov eax, dword [eax*4 + 0x4484c0]
mov dword [esi + 0x40], eax
jmp 0x429b33
xor ecx, ecx
mov edi, dword [ebp + 0xc]
shr al, 5
mov cl, byte [esi + 0xf3]
and eax, 0xff
lea ecx, [ecx + ecx*8]
lea eax, [eax + eax*2]
add eax, ecx
mov cl, byte [edx + eax + 0x448548]
add eax, edx
mov byte [edi + 0x19], cl
mov eax, dword [eax*4 + 0x448500]
mov dword [esi + 0x40], eax
jmp 0x429b33
shr al, 5
mov edi, dword [ebp + 0xc]
and eax, 0xff
mov al, byte [eax + 0x44849b]
mov byte [ebp - 0x5c], al
mov byte [edi + 0x19], al
jmp 0x429b33
mov al, byte [ebx + 0x10]
mov edi, dword [ebp + 0xc]
and eax, 7
mov al, byte [eax + 0x4484a0]
mov byte [ebp - 0x5c], al
mov byte [edi + 0x19], al
jmp 0x429b33
mov edi, dword [ebp + 0xc]
mov al, byte [edx + 0x4484a6]
mov byte [ebp - 0x5c], al
mov byte [edi + 0x19], al
jmp 0x429b33
mov edi, dword [ebp + 0xc]
mov al, byte [edx + 0x44849b]
mov byte [ebp - 0x5c], al
mov byte [edi + 0x19], al
jmp 0x429b33
mov edi, dword [ebp + 0xc]
mov al, byte [edx + 0x448495]
mov byte [ebp - 0x5c], al
mov byte [edi + 0x19], al
jmp 0x429b33
mov edi, dword [ebp + 0xc]
mov al, byte [edx + 0x448498]
mov byte [ebp - 0x5c], al
mov byte [edi + 0x19], al
jmp 0x429b33
mov eax, dword [ebp + 0xc]
cmp byte [eax + 6], 0
je 0x429b2f
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x19], 0x20
jmp 0x429b33
mov eax, dword [ebp + 0xc]
cmp byte [eax + 6], 0
jne case.0x429afb.5
mov byte [eax + 0x19], 8
jmp 0x429b33
xor eax, eax
mov edi, dword [ebp + 0xc]
mov al, byte [esi + 0xf3]
lea eax, [eax + eax*2]
mov cl, byte [edx + eax + 0x44848c]
add eax, edx
mov byte [edi + 0x19], cl
mov eax, dword [eax*4 + 0x448474]
mov dword [esi + 0x40], eax
jmp 0x429b33