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

Disassembly:
sub esp, 0x120
mov eax, dword [0x64786c]
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 0x504abf
mov dword [esp + 0x24], 1
lea esi, [esp + 0x2c]
jmp 0x504ac1
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 + 0x5cd098]
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 0x504b34
sub eax, 8
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x504b18
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 0x504b34
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 0x504b77
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x504b61
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 0x504b77
mov byte [esi], 0
inc esi
mov edx, dword [esp + 0x134]
movsx ebx, word [edx + 2]
test ebx, ebx
jne 0x504b8e
lea ebp, [ebx + 1]
jmp 0x504c39
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 + 0x5cd098]
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 0x504bfc
sub eax, 8
mov ebx, edi
mov ecx, eax
shr ebx, cl
inc esi
mov byte [esi - 1], bl
cmp bl, 0xff
jne 0x504be6
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 0x504bfc
mov byte [esi], 0
inc esi
mov ecx, ebp
shl edi, cl
add eax, ebp
or edi, dword [esp + 0x18]
cmp eax, 0xf
jle 0x504c37
sub eax, 8
mov ebx, edi
mov ecx, eax
shr ebx, cl
inc esi
mov byte [esi - 1], bl
cmp bl, 0xff
jne 0x504c21
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 0x504c37
mov byte [esi], 0
inc esi
xor ebp, ebp
movsx ebx, word [edx + 0x10]
test ebx, ebx
jne 0x504c47
inc ebp
jmp 0x504d77
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x504cc4
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x10], ecx
neg ecx
shl ecx, 4
add ebp, ecx
jmp 0x504c80
mov ecx, dword [esp + 0x20]
shl edi, cl
add eax, ecx
or edi, dword [esp + 0x1c]
cmp eax, 0xf
jle 0x504cbd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x504ca7
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 0x504cbd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x504c80
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 0x504d33
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x504d1d
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 0x504d33
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x504d6e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x504d58
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 0x504d6e
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 0x504d89
inc ebp
jmp 0x504eb7
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x504e04
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 0x504dfd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x504de7
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 0x504dfd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x504dc0
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 0x504e73
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x504e5d
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 0x504e73
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x504eae
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x504e98
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 0x504eae
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 0x504ec9
inc ebp
jmp 0x504ff7
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x504f44
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 0x504f3d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x504f27
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 0x504f3d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x504f00
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 0x504fb3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x504f9d
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 0x504fb3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x504fee
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x504fd8
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 0x504fee
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 0x505009
inc ebp
jmp 0x505137
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x505084
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 0x50507d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505067
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 0x50507d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x505040
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 0x5050f3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5050dd
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 0x5050f3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x50512e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505118
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 0x50512e
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 0x505149
inc ebp
jmp 0x505277
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x5051c4
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 0x5051bd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5051a7
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 0x5051bd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x505180
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 0x505233
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x50521d
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 0x505233
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x50526e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505258
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 0x50526e
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 0x505289
inc ebp
jmp 0x5053b7
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x505304
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 0x5052fd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5052e7
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 0x5052fd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x5052c0
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 0x505373
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x50535d
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 0x505373
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x5053ae
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505398
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 0x5053ae
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 0x5053c9
inc ebp
jmp 0x5054f7
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x505444
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 0x50543d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505427
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 0x50543d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x505400
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 0x5054b3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x50549d
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 0x5054b3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x5054ee
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5054d8
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 0x5054ee
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 0x505509
inc ebp
jmp 0x505637
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x505584
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 0x50557d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505567
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 0x50557d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x505540
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 0x5055f3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5055dd
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 0x5055f3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x50562e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505618
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 0x50562e
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 0x505649
inc ebp
jmp 0x505777
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x5056c4
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 0x5056bd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5056a7
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 0x5056bd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x505680
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 0x505733
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x50571d
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 0x505733
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x50576e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505758
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 0x50576e
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 0x505789
inc ebp
jmp 0x5058b7
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x505804
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 0x5057fd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5057e7
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 0x5057fd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x5057c0
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 0x505873
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x50585d
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 0x505873
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x5058ae
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505898
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 0x5058ae
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 0x5058c9
inc ebp
jmp 0x5059f7
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x505944
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 0x50593d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505927
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 0x50593d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x505900
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 0x5059b3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x50599d
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 0x5059b3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x5059ee
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5059d8
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 0x5059ee
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 0x505a09
inc ebp
jmp 0x505b37
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x505a84
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 0x505a7d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505a67
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 0x505a7d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x505a40
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 0x505af3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505add
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 0x505af3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x505b2e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505b18
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 0x505b2e
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 0x505b49
inc ebp
jmp 0x505c77
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x505bc4
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 0x505bbd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505ba7
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 0x505bbd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x505b80
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 0x505c33
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505c1d
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 0x505c33
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x505c6e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505c58
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 0x505c6e
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 0x505c89
inc ebp
jmp 0x505db7
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x505d04
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 0x505cfd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505ce7
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 0x505cfd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x505cc0
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 0x505d73
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505d5d
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 0x505d73
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x505dae
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505d98
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 0x505dae
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 0x505dc9
inc ebp
jmp 0x505ef7
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x505e44
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 0x505e3d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505e27
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 0x505e3d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x505e00
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 0x505eb3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505e9d
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 0x505eb3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x505eee
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505ed8
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 0x505eee
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 0x505f09
inc ebp
jmp 0x506037
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x505f84
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 0x505f7d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505f67
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 0x505f7d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x505f40
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 0x505ff3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x505fdd
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 0x505ff3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x50602e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506018
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 0x50602e
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 0x506049
inc ebp
jmp 0x506177
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x5060c4
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 0x5060bd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5060a7
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 0x5060bd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x506080
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 0x506133
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x50611d
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 0x506133
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x50616e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506158
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 0x50616e
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 0x506189
inc ebp
jmp 0x5062ba
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x506207
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 0x506200
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5061ea
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 0x506200
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x5061c3
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 0x506276
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506260
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 0x506276
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x5062b1
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x50629b
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 0x5062b1
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 0x5062cc
inc ebp
jmp 0x5063fd
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x50634a
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 0x506343
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x50632d
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 0x506343
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x506306
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 0x5063b9
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5063a3
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 0x5063b9
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x5063f4
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5063de
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 0x5063f4
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 0x50640f
inc ebp
jmp 0x506547
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x506494
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 0x50648d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506477
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 0x50648d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x506450
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 0x506503
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5064ed
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 0x506503
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x50653e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506528
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 0x50653e
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 0x506559
inc ebp
jmp 0x50668a
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x5065d7
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 0x5065d0
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5065ba
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 0x5065d0
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x506593
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 0x506646
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506630
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 0x506646
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x506681
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x50666b
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 0x506681
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 0x50669c
inc ebp
jmp 0x5067cd
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x50671a
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 0x506713
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5066fd
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 0x506713
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x5066d6
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 0x506789
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506773
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 0x506789
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x5067c4
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5067ae
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 0x5067c4
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 0x5067df
inc ebp
jmp 0x506917
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x506864
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 0x50685d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506847
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 0x50685d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x506820
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 0x5068d3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5068bd
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 0x5068d3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x50690e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5068f8
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 0x50690e
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 0x506929
inc ebp
jmp 0x506a5a
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x5069a7
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 0x5069a0
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x50698a
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 0x5069a0
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x506963
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 0x506a16
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506a00
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 0x506a16
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x506a51
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506a3b
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 0x506a51
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 0x506a6c
inc ebp
jmp 0x506b9d
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x506aea
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 0x506ae3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506acd
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 0x506ae3
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x506aa6
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 0x506b59
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506b43
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 0x506b59
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x506b94
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506b7e
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 0x506b94
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 0x506baf
inc ebp
jmp 0x506ce7
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x506c34
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 0x506c2d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506c17
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 0x506c2d
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x506bf0
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 0x506ca3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506c8d
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 0x506ca3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x506cde
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506cc8
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 0x506cde
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 0x506cf9
inc ebp
jmp 0x506e2a
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x506d77
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 0x506d70
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506d5a
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 0x506d70
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x506d33
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 0x506de6
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506dd0
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 0x506de6
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x506e21
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506e0b
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 0x506e21
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 0x506e3c
inc ebp
jmp 0x506f6d
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x506eba
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 0x506eb3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506e9d
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 0x506eb3
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x506e76
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 0x506f29
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506f13
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 0x506f29
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x506f64
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506f4e
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 0x506f64
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 0x506f7f
inc ebp
jmp 0x5070b7
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x507004
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 0x506ffd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x506fe7
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 0x506ffd
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x506fc0
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 0x507073
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x50705d
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 0x507073
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x5070ae
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x507098
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 0x5070ae
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 0x5070c9
inc ebp
jmp 0x5071fa
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x507147
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 0x507140
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x50712a
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 0x507140
mov byte [esi], 0
inc esi
sub dword [esp + 0x10], 1
jne 0x507103
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 0x5071b6
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5071a0
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 0x5071b6
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
shl edi, cl
add eax, ecx
or edi, ebx
cmp eax, 0xf
jle 0x5071f1
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x5071db
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 0x5071f1
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 0x50720c
inc ebp
jmp 0x50733d
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 + 0x5cd098]
mov dword [esp + 0x14], ebx
jle 0x50728a
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 0x507283
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 0x5072f9
movsx ebx, word [edx + 0x54]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x50734f