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

Disassembly:
sub esp, 0x120
mov eax, dword [0x698b9c]
xor eax, esp
mov dword [esp + 0x11c], eax
cmp dword [ecx + 4], 0x100
mov eax, dword [esp + 0x12c]
push ebx
push ebp
push esi
push edi
mov edi, edx
mov edx, dword [eax + 0x3c0]
movsx eax, byte [eax + 0x4f0]
mov dword [esp + 0x1c], edx
mov edx, dword [ecx + 8]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], 0
jae 0x52d6ff
mov dword [esp + 0x24], 1
lea esi, [esp + 0x2c]
jmp 0x52d701
mov esi, dword [ecx]
mov ecx, dword [esp + 0x134]
movsx ebp, word [ecx]
sub ebp, dword [esp + 0x138]
mov ecx, ebp
sar ecx, 0x1f
mov dword [esp + 0x14], ebp
mov ebx, ecx
xor ebx, dword [esp + 0x14]
add ebp, ecx
sub ebx, ecx
movzx ebx, byte [ebx + 0x61f908]
movsx ecx, byte [ebx + edi + 0x400]
shl edx, cl
add eax, ecx
or edx, dword [edi + ebx*4]
cmp eax, 0xf
mov dword [esp + 0x14], edx
jle 0x52d774
sub eax, 8
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52d758
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x14]
sub eax, 8
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
mov edx, dword [esp + 0x14]
jne 0x52d774
mov byte [esi], 0
inc esi
mov ecx, ebx
mov edi, 1
shl edi, cl
shl edx, cl
add eax, ebx
dec edi
and edi, ebp
or edi, edx
cmp eax, 0xf
jle 0x52d7b7
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52d7a1
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52d7b7
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
movsx ebx, word [edx + 2]
test ebx, ebx
jne 0x52d7ce
lea ebp, [ebx + 1]
jmp 0x52d879
mov ecx, ebx
sar ecx, 0x1f
lea ebp, [ecx + ebx]
mov dword [esp + 0x18], ebp
mov ebp, ecx
xor ebp, ebx
sub ebp, ecx
movzx ebp, byte [ebp + 0x61f908]
mov ecx, ebp
mov ebx, 1
shl ebx, cl
dec ebx
and dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x13c]
movsx ecx, byte [ebx + ebp + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + ebp*4]
cmp eax, 0xf
jle 0x52d83c
sub eax, 8
mov ebx, edi
mov ecx, eax
shr ebx, cl
inc esi
mov byte [esi - 1], bl
cmp bl, 0xff
jne 0x52d826
mov byte [esi], 0
inc esi
sub eax, 8
mov ebx, edi
mov ecx, eax
shr ebx, cl
inc esi
mov byte [esi - 1], bl
cmp bl, 0xff
jne 0x52d83c
mov byte [esi], 0
inc esi
mov ecx, ebp
shl edi, cl
add eax, ebp
or edi, dword [esp + 0x18]
cmp eax, 0xf
jle 0x52d877
sub eax, 8
mov ebx, edi
mov ecx, eax
shr ebx, cl
inc esi
mov byte [esi - 1], bl
cmp bl, 0xff
jne 0x52d861
mov byte [esi], 0
inc esi
sub eax, 8
mov ebx, edi
mov ecx, eax
shr ebx, cl
inc esi
mov byte [esi - 1], bl
cmp bl, 0xff
jne 0x52d877
mov byte [esi], 0
inc esi
xor ebp, ebp
movsx ebx, word [edx + 0x10]
test ebx, ebx
jne 0x52d887
inc ebp
jmp 0x52d9b7
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52d904
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
jmp 0x52d8c0
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52d8fd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52d8e7
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52d8fd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52d8c0
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52d973
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52d95d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52d973
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52d9ae
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52d998
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52d9ae
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x20]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52d9c9
inc ebp
jmp 0x52daf7
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52da44
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
nop
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52da3d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52da27
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52da3d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52da00
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52dab3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52da9d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52dab3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52daee
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52dad8
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52daee
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x12]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52db09
inc ebp
jmp 0x52dc37
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52db84
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
nop
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52db7d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52db67
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52db7d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52db40
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52dbf3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52dbdd
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52dbf3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52dc2e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52dc18
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52dc2e
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 4]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52dc49
inc ebp
jmp 0x52dd77
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52dcc4
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
nop
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52dcbd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52dca7
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52dcbd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52dc80
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52dd33
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52dd1d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52dd33
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52dd6e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52dd58
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52dd6e
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 6]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52dd89
inc ebp
jmp 0x52deb7
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52de04
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
nop
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52ddfd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52dde7
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52ddfd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52ddc0
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52de73
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52de5d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52de73
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52deae
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52de98
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52deae
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x14]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52dec9
inc ebp
jmp 0x52dff7
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52df44
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
nop
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52df3d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52df27
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52df3d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52df00
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52dfb3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52df9d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52dfb3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52dfee
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52dfd8
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52dfee
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x22]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52e009
inc ebp
jmp 0x52e137
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52e084
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
nop
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52e07d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e067
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e07d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52e040
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52e0f3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e0dd
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e0f3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52e12e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e118
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e12e
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x30]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52e149
inc ebp
jmp 0x52e277
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52e1c4
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
nop
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52e1bd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e1a7
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e1bd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52e180
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52e233
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e21d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e233
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52e26e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e258
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e26e
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x40]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52e289
inc ebp
jmp 0x52e3b7
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52e304
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
nop
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52e2fd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e2e7
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e2fd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52e2c0
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52e373
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e35d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e373
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52e3ae
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e398
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e3ae
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x32]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52e3c9
inc ebp
jmp 0x52e4f7
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52e444
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
nop
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52e43d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e427
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e43d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52e400
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52e4b3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e49d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e4b3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52e4ee
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e4d8
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e4ee
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x24]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52e509
inc ebp
jmp 0x52e637
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52e584
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
nop
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52e57d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e567
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e57d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52e540
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52e5f3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e5dd
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e5f3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52e62e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e618
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e62e
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x16]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52e649
inc ebp
jmp 0x52e777
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52e6c4
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
nop
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52e6bd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e6a7
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e6bd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52e680
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52e733
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e71d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e733
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52e76e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e758
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e76e
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 8]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52e789
inc ebp
jmp 0x52e8b7
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52e804
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
nop
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52e7fd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e7e7
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e7fd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52e7c0
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52e873
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e85d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e873
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52e8ae
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e898
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e8ae
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0xa]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52e8c9
inc ebp
jmp 0x52e9f7
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52e944
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
nop
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52e93d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e927
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e93d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52e900
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52e9b3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e99d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e9b3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52e9ee
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e9d8
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52e9ee
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x18]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52ea09
inc ebp
jmp 0x52eb37
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52ea84
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
nop
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52ea7d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52ea67
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52ea7d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52ea40
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52eaf3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52eadd
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52eaf3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52eb2e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52eb18
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52eb2e
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x26]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52eb49
inc ebp
jmp 0x52ec77
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52ebc4
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
nop
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52ebbd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52eba7
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52ebbd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52eb80
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52ec33
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52ec1d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52ec33
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52ec6e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52ec58
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52ec6e
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x34]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52ec89
inc ebp
jmp 0x52edb7
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52ed04
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
nop
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52ecfd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52ece7
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52ecfd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52ecc0
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52ed73
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52ed5d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52ed73
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52edae
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52ed98
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52edae
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x42]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52edc9
inc ebp
jmp 0x52eefa
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52ee47
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52ee40
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52ee2a
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52ee40
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52ee03
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52eeb6
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52eea0
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52eeb6
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52eef1
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52eedb
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52eef1
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x50]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52ef0c
inc ebp
jmp 0x52f03d
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52ef8a
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52ef83
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52ef6d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52ef83
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52ef46
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52eff9
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52efe3
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52eff9
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52f034
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f01e
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f034
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x60]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52f04f
inc ebp
jmp 0x52f187
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52f0d4
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
lea esp, [esp]
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52f0cd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f0b7
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f0cd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52f090
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52f143
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f12d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f143
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52f17e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f168
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f17e
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x52]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52f199
inc ebp
jmp 0x52f2ca
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52f217
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52f210
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f1fa
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f210
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52f1d3
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52f286
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f270
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f286
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52f2c1
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f2ab
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f2c1
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x44]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52f2dc
inc ebp
jmp 0x52f40d
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52f35a
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52f353
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f33d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f353
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52f316
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52f3c9
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f3b3
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f3c9
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52f404
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f3ee
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f404
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x36]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52f41f
inc ebp
jmp 0x52f557
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52f4a4
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
lea esp, [esp]
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52f49d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f487
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f49d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52f460
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52f513
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f4fd
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f513
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52f54e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f538
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f54e
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x28]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52f569
inc ebp
jmp 0x52f69a
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52f5e7
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52f5e0
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f5ca
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f5e0
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52f5a3
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52f656
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f640
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f656
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52f691
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f67b
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f691
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x1a]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52f6ac
inc ebp
jmp 0x52f7dd
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52f72a
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52f723
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f70d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f723
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52f6e6
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52f799
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f783
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f799
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52f7d4
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f7be
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f7d4
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0xc]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52f7ef
inc ebp
jmp 0x52f927
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52f874
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
lea esp, [esp]
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52f86d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f857
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f86d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52f830
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52f8e3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f8cd
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f8e3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52f91e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f908
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f91e
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0xe]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52f939
inc ebp
jmp 0x52fa6a
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52f9b7
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52f9b0
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f99a
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52f9b0
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52f973
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52fa26
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fa10
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fa26
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52fa61
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fa4b
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fa61
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x1c]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52fa7c
inc ebp
jmp 0x52fbad
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52fafa
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52faf3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fadd
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52faf3
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52fab6
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52fb69
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fb53
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fb69
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52fba4
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fb8e
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fba4
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x2a]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52fbbf
inc ebp
jmp 0x52fcf7
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52fc44
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
lea esp, [esp]
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52fc3d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fc27
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fc3d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52fc00
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52fcb3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fc9d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fcb3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52fcee
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fcd8
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fcee
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x38]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52fd09
inc ebp
jmp 0x52fe3a
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52fd87
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52fd80
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fd6a
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fd80
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x52fd43
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52fdf6
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fde0
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fdf6
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x52fe31
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fe1b
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x52fe31
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
xor ebp, ebp
movsx ebx, word [edx + 0x46]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52fe4c
inc ebp
jmp 0x52ff7d
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx + ebx]
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x14]
sub edx, ecx
cmp ebp, 0xf
movzx ebx, byte [edx + 0x61f908]
mov dword [esp + 0x14], ebx
jle 0x52feca
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x52fec3
mov ecx, dword [esp + 0x13c]
shl ebp, 4
add ebp, ebx
movsx edx, byte [ecx + ebp + 0x400]
mov ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x10]
shl ebx, cl
add eax, edx
dec ebx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x13c]
shl edi, cl
or edi, dword [edx + ebp*4]
cmp eax, 0xf
jle 0x52ff39
movsx ebx, word [edx + 0x54]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52ff8f