Function at 0x584ab0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
mov eax, dword [0x93500c]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x18]
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [ecx + 0x3c0]
mov dword [ebp - 0xa0], eax
movsx eax, byte [ecx + 0x4f0]
mov dword [ebp - 0x98], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x94], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa8], eax
push edi
mov edi, dword [esi + 0xc]
cmp eax, 0x80
jae 0x584b0f
lea esi, [ebp - 0x84]
jmp 0x584b11
mov esi, dword [esi]
mov eax, dword [ebp + 0xc]
movsx eax, word [eax]
sub eax, dword [ebp + 0x10]
mov edx, eax
mov ecx, eax
sar edx, 0x1f
add eax, edx
mov dword [ebp - 0x8c], eax
mov eax, edx
xor eax, ecx
sub eax, edx
mov edx, dword [ebp - 0x94]
movzx ebx, byte [eax + 0x12e80f8]
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x88], ebx
movsx ecx, byte [ebx + eax + 0x400]
shl edx, cl
add edi, ecx
or edx, dword [eax + ebx*4]
cmp edi, 0xf
jle 0x584b7f
mov eax, edx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584b6b
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, edx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584b7f
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x88]
add edi, ebx
mov eax, 1
shl edx, cl
mov ebx, eax
mov dword [ebp - 0x9c], eax
shl ebx, cl
dec ebx
and ebx, dword [ebp - 0x8c]
or ebx, edx
cmp edi, 0xf
jle 0x584bcc
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584bb8
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584bcc
mov byte [esi], 0
inc esi
mov eax, dword [ebp + 0xc]
movsx edx, word [eax + 2]
test edx, edx
jne 0x584be1
mov edx, 1
jmp 0x584c95
mov ecx, edx
sar ecx, 0x1f
lea eax, [ecx + edx]
mov dword [ebp - 0x8c], eax
mov eax, ecx
xor eax, edx
mov edx, dword [ebp + 0x18]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov eax, dword [ebp - 0x9c]
shl eax, cl
dec eax
mov dword [ebp - 0x94], ecx
movsx edx, byte [ecx + edx + 0x400]
and dword [ebp - 0x8c], eax
add edi, edx
mov eax, dword [ebp + 0x18]
mov ecx, edx
mov edx, dword [ebp - 0x94]
shl ebx, cl
or ebx, dword [eax + edx*4]
cmp edi, 0xf
jle 0x584c59
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584c45
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584c59
mov byte [esi], 0
inc esi
mov ecx, edx
add edi, edx
shl ebx, cl
or ebx, dword [ebp - 0x8c]
cmp edi, 0xf
jle 0x584c90
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584c7c
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584c90
mov byte [esi], 0
inc esi
mov eax, dword [ebp + 0xc]
xor edx, edx
movsx eax, word [eax + 0x10]
mov dword [ebp - 0x94], eax
test eax, eax
jne 0x584ca9
inc edx
jmp 0x584d6c
mov ecx, eax
shl edx, 4
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x94]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov eax, dword [ebp + 0x18]
add edx, ecx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x94], ecx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x584d2f
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584d1b
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584d2f
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x584d6a
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584d56
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584d6a
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x20]
mov dword [ebp - 0x94], eax
test eax, eax
jne 0x584d83
inc edx
jmp 0x584e46
mov ecx, eax
shl edx, 4
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x94]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov eax, dword [ebp + 0x18]
add edx, ecx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x94], ecx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x584e09
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584df5
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584e09
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x584e44
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584e30
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584e44
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x12]
mov dword [ebp - 0x94], eax
test eax, eax
jne 0x584e5d
inc edx
jmp 0x584f20
mov ecx, eax
shl edx, 4
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x94]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov eax, dword [ebp + 0x18]
add edx, ecx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x94], ecx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x584ee3
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584ecf
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584ee3
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x584f1e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584f0a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584f1e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 4]
mov dword [ebp - 0x94], eax
test eax, eax
jne 0x584f37
inc edx
jmp 0x584ffa
mov ecx, eax
shl edx, 4
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x94]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov eax, dword [ebp + 0x18]
add edx, ecx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x94], ecx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x584fbd
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584fa9
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584fbd
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x584ff8
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584fe4
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x584ff8
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 6]
mov dword [ebp - 0x94], eax
test eax, eax
jne 0x585011
inc edx
jmp 0x58514d
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x94]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x5850ae
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x58509d
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585083
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x58509d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x585060
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x585110
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5850fc
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585110
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x58514b
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585137
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58514b
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x14]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x585164
inc edx
jmp 0x5852a0
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x585201
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x5851f0
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5851d6
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x5851f0
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x5851b3
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x585263
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58524f
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585263
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x58529e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58528a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58529e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x22]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x5852b7
inc edx
jmp 0x5853f3
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x585354
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x585343
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585329
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x585343
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x585306
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x5853b6
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5853a2
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5853b6
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x5853f1
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5853dd
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5853f1
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x30]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x58540a
inc edx
jmp 0x58554d
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x5854ae
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
nop dword [eax]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x58549d
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585483
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x58549d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x585460
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x585510
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5854fc
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585510
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x58554b
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585537
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58554b
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x40]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x585564
inc edx
jmp 0x5856a0
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x585601
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x5855f0
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5855d6
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x5855f0
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x5855b3
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x585663
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58564f
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585663
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x58569e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58568a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58569e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x32]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x5856b7
inc edx
jmp 0x5857f3
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x585754
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x585743
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585729
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x585743
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x585706
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x5857b6
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5857a2
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5857b6
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x5857f1
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5857dd
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5857f1
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x24]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x58580a
inc edx
jmp 0x58594d
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x5858ae
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
nop dword [eax]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x58589d
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585883
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x58589d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x585860
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x585910
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5858fc
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585910
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x58594b
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585937
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58594b
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x16]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x585964
inc edx
jmp 0x585aa0
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x585a01
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x5859f0
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5859d6
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x5859f0
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x5859b3
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x585a63
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585a4f
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585a63
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x585a9e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585a8a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585a9e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 8]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x585ab7
inc edx
jmp 0x585bf3
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x585b54
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x585b43
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585b29
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x585b43
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x585b06
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x585bb6
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585ba2
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585bb6
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x585bf1
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585bdd
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585bf1
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0xa]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x585c0a
inc edx
jmp 0x585d4d
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x585cae
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
nop dword [eax]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x585c9d
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585c83
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x585c9d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x585c60
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x585d10
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585cfc
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585d10
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x585d4b
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585d37
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585d4b
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x18]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x585d64
inc edx
jmp 0x585ea0
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x585e01
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x585df0
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585dd6
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x585df0
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x585db3
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x585e63
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585e4f
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585e63
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x585e9e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585e8a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585e9e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x26]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x585eb7
inc edx
jmp 0x585ff3
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x585f54
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x585f43
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585f29
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x585f43
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x585f06
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x585fb6
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585fa2
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585fb6
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x585ff1
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585fdd
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x585ff1
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x34]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x58600a
inc edx
jmp 0x58614d
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x5860ae
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
nop dword [eax]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x58609d
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586083
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x58609d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x586060
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x586110
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5860fc
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586110
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x58614b
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586137
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58614b
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x42]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x586164
inc edx
jmp 0x5862a0
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x586201
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x5861f0
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5861d6
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x5861f0
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x5861b3
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x586263
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58624f
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586263
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x58629e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58628a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58629e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x50]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x5862b7
inc edx
jmp 0x5863f3
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x586354
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x586343
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586329
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x586343
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x586306
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x5863b6
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5863a2
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5863b6
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x5863f1
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5863dd
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5863f1
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x60]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x58640a
inc edx
jmp 0x58654d
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x5864ae
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
nop dword [eax]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x58649d
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586483
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x58649d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x586460
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x586510
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5864fc
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586510
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x58654b
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586537
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58654b
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x52]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x586564
inc edx
jmp 0x5866a0
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x586601
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x5865f0
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5865d6
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x5865f0
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x5865b3
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x586663
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58664f
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586663
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x58669e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58668a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58669e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x44]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x5866b7
inc edx
jmp 0x5867f3
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x586754
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x586743
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586729
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x586743
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x586706
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x5867b6
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5867a2
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5867b6
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x5867f1
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5867dd
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5867f1
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x36]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x58680a
inc edx
jmp 0x58694d
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x5868ae
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
nop dword [eax]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x58689d
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586883
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x58689d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x586860
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x586910
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5868fc
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586910
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x58694b
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586937
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58694b
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x28]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x586964
inc edx
jmp 0x586aa0
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x586a01
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x5869f0
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5869d6
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x5869f0
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x5869b3
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x586a63
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586a4f
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586a63
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x586a9e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586a8a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586a9e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x1a]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x586ab7
inc edx
jmp 0x586bf3
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x586b54
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x586b43
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586b29
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x586b43
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x586b06
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x586bb6
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586ba2
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586bb6
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x586bf1
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586bdd
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586bf1
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0xc]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x586c0a
inc edx
jmp 0x586d4d
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x586cae
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
nop dword [eax]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x586c9d
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586c83
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x586c9d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x586c60
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x586d10
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586cfc
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586d10
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x586d4b
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586d37
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586d4b
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0xe]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x586d64
inc edx
jmp 0x586ea0
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x586e01
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x586df0
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586dd6
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x586df0
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x586db3
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x586e63
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586e4f
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586e63
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x586e9e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586e8a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586e9e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x1c]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x586eb7
inc edx
jmp 0x586ff3
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x586f54
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x586f43
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586f29
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x586f43
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x586f06
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x586fb6
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586fa2
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586fb6
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x586ff1
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586fdd
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x586ff1
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x2a]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x58700a
inc edx
jmp 0x58714d
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x5870ae
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
nop dword [eax]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x58709d
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x587083
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x58709d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x587060
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x587110
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5870fc
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x587110
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x58714b
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x587137
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58714b
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x38]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x587164
inc edx
jmp 0x5872a0
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x587201
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x5871f0
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5871d6
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x5871f0
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x5871b3
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x587263
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58724f
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x587263
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x58729e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58728a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x58729e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x46]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x5872b7
inc edx
jmp 0x5873f3
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jbe 0x587354
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x587343
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x587329
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x98]
jne 0x587343
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x587306
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x5873b6
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5873a2
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5873b6
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x94]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x88]
cmp edi, 0xf
jle 0x5873f1
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5873dd
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5873f1
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x54]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x58740a
inc edx
jmp 0x58754d
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x88], eax
mov eax, ecx
xor eax, dword [ebp - 0x90]
sub eax, ecx
movzx ecx, byte [eax + 0x12e80f8]
mov dword [ebp - 0x94], ecx
cmp edx, 0xf
jle 0x5874ae
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x90], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x90]
nop dword [eax]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0xa0]
cmp edi, 0xf
jle 0x58749d
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x8c], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x9c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x587510
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x62]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x587564