Function at 0x502810
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x50
push ebx
push ebp
push esi
mov esi, dword [esp + 0x60]
push edi
mov ebx, dword [esi + 0x28]
lea eax, [esi + 0x9324]
mov ebp, dword [esi + 0x54]
mov dword [esp + 0x14], ebx
add ebp, 2
mov dword [esp + 0x2c], eax
mov ebx, eax
mov eax, 6
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], eax
test ebp, ebp
jle 0x502860
mov ecx, ebp
mov eax, 0xf0f0f0f
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x28]
add ebx, 0x102
dec eax
mov dword [esp + 0x28], eax
jne 0x502841
cmp dword [esi + 0x274], 0
mov ebx, dword [esp + 0x14]
jg 0x502887
push 0xbb9
call fcn.00505940
add esp, 4
mov eax, dword [esi + 0x274]
mov dword [esp + 0x28], eax
cmp eax, 0xc8
jge 0x50289f
mov edx, 2
jmp 0x5028c8
cmp eax, 0x258
jge 0x5028ad
mov edx, 3
jmp 0x5028c8
cmp eax, 0x4b0
jge 0x5028bb
mov edx, 4
jmp 0x5028c8
xor edx, edx
cmp eax, 0x960
setge dl
add edx, 5
xor ecx, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ecx
mov edi, edx
mov dword [esp + 0x20], edi
test edx, edx
jle 0x5029a3
lea eax, [edx + 0x91]
mov dword [esp + 0x1c], ecx
imul ebx, eax, 0x102
add ebx, esi
mov eax, dword [esp + 0x28]
dec ecx
cdq
idiv edi
xor edi, edi
test eax, eax
jle 0x502921
lea edx, [ebp - 1]
mov dword [esp + 0x30], edx
lea edx, [esi + 0x278]
lea edx, [edx + ecx*4]
cmp ecx, dword [esp + 0x30]
jge 0x502921
add edi, dword [edx + 4]
add edx, 4
inc ecx
cmp edi, eax
jl 0x502910
mov edx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x18]
jle 0x502955
mov eax, dword [esp + 0x20]
cmp eax, edx
je 0x502955
cmp eax, 1
je 0x502955
mov eax, dword [esp + 0x1c]
and eax, 0x80000001
jns 0x502948
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
jne 0x502955
sub edi, dword [esi + ecx*4 + 0x278]
dec ecx
xor eax, eax
test ebp, ebp
jle 0x502979
jmp 0x502960
cmp eax, dword [esp + 0x18]
jl 0x502970
cmp eax, ecx
jg 0x502970
mov byte [ebx + eax], 0
jmp 0x502974
mov byte [ebx + eax], 0xf
inc eax
cmp eax, ebp
jl 0x502960
mov eax, dword [esp + 0x20]
inc ecx
sub dword [esp + 0x28], edi
dec eax
inc dword [esp + 0x1c]
sub ebx, 0x102
mov dword [esp + 0x20], eax
mov edi, eax
mov dword [esp + 0x18], ecx
test eax, eax
jg 0x5028f2
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x20], 4
jmp 0x5029b0
test edx, edx
jle 0x5029f1
xor eax, eax
mov dword [esp + 0x28], edx
mov ecx, edx
lea edi, [esp + 0x48]
rep stosd dword es:[edi], eax
lea ebx, [esi + 0xb160]
mov eax, edx
lea ebx, [ebx]
test ebp, ebp
jle 0x5029e0
xor eax, eax
mov ecx, ebp
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x28]
add ebx, 0x408
dec eax
mov dword [esp + 0x28], eax
jne 0x5029d0
mov ebx, dword [esp + 0x14]
cmp edx, 6
jne 0x502a5c
test ebp, ebp
jle 0x502a5c
lea eax, [esi + 0xc994]
mov ebx, ebp
lea edi, [esi + 0x9324]
mov dword [esp + 0x30], eax
mov ebp, eax
mov edi, edi
movzx ecx, byte [edi + 0x102]
lea edi, [edi + 1]
movzx eax, byte [edi - 1]
lea ebp, [ebp + 0x10]
shl ecx, 0x10
or ecx, eax
mov dword [ebp - 0x14], ecx
movzx ecx, byte [edi + 0x305]
movzx eax, byte [edi + 0x203]
shl ecx, 0x10
or ecx, eax
mov dword [ebp - 0x10], ecx
movzx ecx, byte [edi + 0x509]
movzx eax, byte [edi + 0x407]
shl ecx, 0x10
or ecx, eax
mov dword [ebp - 0xc], ecx
dec ebx
jne 0x502a10
mov ebx, dword [esp + 0x14]
xor ebp, ebp
mov dword [esp + 0x18], 0
cmp dword [esi + 0x274], ebp
jle 0x5034d5
mov ecx, dword [esi + 0x274]
lea eax, [ebp + 0x31]
mov dword [esp + 0x1c], eax
cmp eax, ecx
jl 0x502a8a
lea eax, [ecx - 1]
mov dword [esp + 0x1c], eax
test edx, edx
jle 0x502a9f
xor eax, eax
lea edi, [esp + 0x38]
mov ecx, edx
shr ecx, 1
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
mov edi, dword [esp + 0x1c]
cmp edx, 6
jne 0x5031f2
mov eax, edi
sub eax, ebp
inc eax
cmp eax, 0x32
jne 0x5031f2
movzx ecx, word [ebx + ebp*2]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
mov edi, dword [esi + ecx*8 + 0xc994]
mov edx, dword [esi + eax*8]
mov ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 2]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 4]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 6]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 8]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0xa]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0xc]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0xe]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x10]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
mov eax, dword [esp + 0x14]
add ebx, dword [esi + ecx*8 + 0xc998]
movzx ecx, word [eax + ebp*2 + 0x12]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
mov eax, dword [esp + 0x14]
add ebx, dword [esi + ecx*8 + 0xc998]
movzx ecx, word [eax + ebp*2 + 0x14]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x16]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x18]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x1a]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x1c]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x1e]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x20]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x22]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x24]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
mov eax, dword [esp + 0x14]
add ebx, dword [esi + ecx*8 + 0xc998]
movzx ecx, word [eax + ebp*2 + 0x26]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
mov eax, dword [esp + 0x14]
add ebx, dword [esi + ecx*8 + 0xc998]
movzx ecx, word [eax + ebp*2 + 0x28]
lea eax, [ecx + 0xc99]
add eax, eax
add ecx, ecx
add edx, dword [esi + eax*8]
add edi, dword [esi + ecx*8 + 0xc994]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x2a]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x2c]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x2e]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x30]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x32]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x34]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x36]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x38]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
mov eax, dword [esp + 0x14]
add ebx, dword [esi + ecx*8 + 0xc998]
movzx ecx, word [eax + ebp*2 + 0x3a]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
mov eax, dword [esp + 0x14]
add ebx, dword [esi + ecx*8 + 0xc998]
movzx ecx, word [eax + ebp*2 + 0x3c]
lea eax, [ecx + 0xc99]
add eax, eax
add edx, dword [esi + eax*8]
add ecx, ecx
mov eax, dword [esp + 0x14]
add edi, dword [esi + ecx*8 + 0xc994]
add ebx, dword [esi + ecx*8 + 0xc998]
movzx ecx, word [eax + ebp*2 + 0x3e]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x40]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x42]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x44]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x46]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x48]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x4a]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x4c]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
mov eax, dword [esp + 0x14]
add ebx, dword [esi + ecx*8 + 0xc998]
movzx ecx, word [eax + ebp*2 + 0x4e]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
mov eax, dword [esp + 0x14]
add ebx, dword [esi + ecx*8 + 0xc998]
movzx ecx, word [eax + ebp*2 + 0x50]
lea eax, [ecx + 0xc99]
add eax, eax
add edx, dword [esi + eax*8]
mov eax, dword [esp + 0x14]
add ecx, ecx
add edi, dword [esi + ecx*8 + 0xc994]
add ebx, dword [esi + ecx*8 + 0xc998]
movzx ecx, word [eax + ebp*2 + 0x52]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x54]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x56]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x58]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x5a]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x5c]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x5e]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + ebp*2 + 0x60]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
mov eax, dword [esp + 0x14]
add ebx, dword [esi + ecx*8 + 0xc998]
movzx ecx, word [eax + ebp*2 + 0x62]
lea eax, [ecx + 0xc99]
add ecx, ecx
add eax, eax
add edi, dword [esi + ecx*8 + 0xc994]
add edx, dword [esi + eax*8]
add ebx, dword [esi + ecx*8 + 0xc998]
mov word [esp + 0x38], dx
shr edx, 0x10
mov word [esp + 0x3c], di
shr edi, 0x10
mov word [esp + 0x3a], dx
mov word [esp + 0x3e], di
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov word [esp + 0x40], bx
shr ebx, 0x10
mov word [esp + 0x42], bx
mov ebx, dword [esp + 0x14]
jmp 0x503249
mov dword [esp + 0x28], ebp
mov eax, ebp
cmp ebp, edi
jg 0x503249
lea esp, [esp]
movzx ecx, word [ebx + eax*2]
mov dword [esp + 0x30], ecx
xor ecx, ecx
test edx, edx
jle 0x503240
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x10]
movzx edx, ax
add edx, 0x9324
add edx, esi
movzx eax, byte [edx]
lea edx, [edx + 0x102]
add word [esp + ecx*2 + 0x38], ax
inc ecx
cmp ecx, edi
jl 0x503221
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x28], eax
cmp eax, edi
jle 0x503200
or ecx, 0xffffffff
mov dword [esp + 0x30], 0x3b9ac9ff
xor eax, eax
mov dword [esp + 0x28], ecx
test edx, edx
jle 0x503282
mov esi, dword [esp + 0x30]
movzx ecx, word [esp + eax*2 + 0x38]
cmp ecx, esi
jge 0x503275
mov esi, ecx
mov ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x503279
mov ecx, dword [esp + 0x28]
inc eax
cmp eax, edx
jl 0x503262
mov esi, dword [esp + 0x64]
mov eax, dword [esp + 0x18]
inc dword [esp + ecx*4 + 0x48]
mov byte [esi + eax + 0x680], cl
inc eax
mov dword [esp + 0x18], eax
cmp edx, 6
jne 0x5034ab
mov eax, edi
sub eax, ebp
inc eax
cmp eax, 0x32
jne 0x5034ab
lea eax, [ecx + 0x2c]
imul ecx, eax, 0x102
movzx eax, word [ebx + ebp*2]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 2]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 4]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 6]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 8]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0xa]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0xc]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0xe]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x10]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x12]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x14]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x16]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x18]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x1a]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x1c]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x1e]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x20]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x22]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x24]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x26]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x28]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x2a]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x2c]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x2e]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x30]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x32]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x34]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x36]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x38]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x3a]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x3c]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x3e]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x40]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x42]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x44]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x46]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x48]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x4a]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x4c]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x4e]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x50]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x52]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x54]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x56]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x58]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x5a]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x5c]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x5e]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x60]
add eax, ecx
inc dword [esi + eax*4]
movzx eax, word [ebx + ebp*2 + 0x62]
add eax, ecx
inc dword [esi + eax*4]
jmp 0x5034c6
cmp ebp, edi
jg 0x5034c6
lea eax, [ecx + 0x2c]
imul ecx, eax, 0x102
movzx eax, word [ebx + ebp*2]
inc ebp
add eax, ecx
inc dword [esi + eax*4]
cmp ebp, edi
jle 0x5034b8
lea ebp, [edi + 1]
cmp ebp, dword [esi + 0x274]
jl 0x502a72
mov ebp, dword [esp + 0x24]
test edx, edx
jle 0x503518
lea edi, [esi + 0x9324]
lea ebx, [esi + 0xb160]
mov esi, edx
jmp 0x5034f0
push 0x11
push ebp
push ebx
push edi
call fcn.00505640
add esp, 0x10
add ebx, 0x408
add edi, 0x102
dec esi
jne 0x5034f0
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
dec dword [esp + 0x20]
jne 0x5029b0
cmp edx, 8
jl 0x503534
push 0xbba
call fcn.00505940
add esp, 4
mov ecx, dword [esp + 0x18]
cmp ecx, 0x8000
jge 0x503548
cmp ecx, 0x4652
jle 0x503559
push 0xbbb
call fcn.00505940
mov ecx, dword [esp + 0x1c]
add esp, 4
mov edi, dword [esp + 0x10]
xor eax, eax
test edi, edi
jle 0x50356c
mov byte [esp + eax + 0x30], al
inc eax
cmp eax, edi
jl 0x503563
test ecx, ecx
jle 0x5035b2
mov ebx, ecx
lea ebp, [esi + 0x4cd2]
mov cl, byte [esp + 0x30]
lea esp, [esp]
mov ah, byte [ebp - 0x4652]
xor edx, edx
cmp ah, cl
je 0x50359f
lea esp, [esp]
inc edx
mov al, cl
mov cl, byte [esp + edx + 0x30]
mov byte [esp + edx + 0x30], al
cmp ah, cl
jne 0x503590
mov byte [ebp], dl
inc ebp
mov byte [esp + 0x30], cl
dec ebx
jne 0x503580
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x24]
test edi, edi
jle 0x503654
mov dword [esp + 0x20], edi
lea ebx, [esi + 0x9324]
lea edi, [esi + 0x9930]
lea ebx, [ebx]
xor ecx, ecx
mov dword [esp + 0x64], 0
mov edx, 0x20
test ebp, ebp
jle 0x50362e
movzx eax, byte [ebx + ecx]
cmp eax, dword [esp + 0x64]
jle 0x5035f1
mov dword [esp + 0x64], eax
cmp eax, edx
jge 0x5035f7
mov edx, eax
inc ecx
cmp ecx, ebp
jl 0x5035e3
cmp dword [esp + 0x64], 0x11
mov dword [esp + 0x28], edx
jle 0x503618
push 0xbbc
call fcn.00505940
mov edx, dword [esp + 0x2c]
add esp, 4
cmp edx, 1
jge 0x50362e
push 0xbbd
call fcn.00505940
mov edx, dword [esp + 0x2c]
add esp, 4
push ebp
push dword [esp + 0x68]
push edx
push ebx
push edi
call fcn.00505480
add esp, 0x14
add ebx, 0x102
add edi, 0x408
dec dword [esp + 0x20]
jne 0x5035d0
mov ebx, dword [esp + 0x14]
lea ebp, [esi + 0x58]
xor edx, edx
mov dword [esp + 0x64], ebp
mov ecx, ebp
nop
mov byte [esp + edx + 0x38], 0
xor eax, eax
cmp byte [ecx + eax], 0
je 0x503672
mov byte [esp + edx + 0x38], 1
inc eax
cmp eax, 0x10
jl 0x503667
inc edx
add ecx, 0x10
cmp edx, 0x10
jl 0x503660
xor eax, eax
mov dword [esp + 0x28], eax
cmp byte [esp + eax + 0x38], 0
je 0x5036d0
cmp dword [esi + 0x25c], 8
jl 0x5036c9
jmp 0x5036a0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x5036a0
mov eax, 1
jmp 0x50370b
cmp dword [esi + 0x25c], 8
jl 0x503709
lea esp, [esp]
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x5036e0
xor eax, eax
mov edx, dword [esi + 0x25c]
mov ecx, 0x1f
sub ecx, edx
inc edx
shl eax, cl
or dword [esi + 0x258], eax
mov eax, dword [esp + 0x28]
inc eax
mov dword [esi + 0x25c], edx
mov dword [esp + 0x28], eax
cmp eax, 0x10
jl 0x503687
xor eax, eax
mov dword [esp + 0x28], eax
nop
cmp byte [esp + eax + 0x38], 0
je 0x5037f9
mov edi, dword [esp + 0x64]
xor ebp, ebp
cmp byte [edi + ebp], 0
je 0x503790
cmp edx, 8
jl 0x503789
lea esp, [esp]
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x503760
mov eax, 1
jmp 0x5037cb
cmp edx, 8
jl 0x5037c9
jmp 0x5037a0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x5037a0
xor eax, eax
mov edx, dword [esi + 0x25c]
mov ecx, 0x1f
sub ecx, edx
inc ebp
shl eax, cl
inc edx
or dword [esi + 0x258], eax
mov dword [esi + 0x25c], edx
cmp ebp, 0x10
jl 0x503751
mov ebp, dword [esp + 0x64]
mov eax, dword [esp + 0x28]
inc eax
add ebp, 0x10
mov dword [esp + 0x28], eax
mov dword [esp + 0x64], ebp
cmp eax, 0x10
jl 0x503740
mov edi, dword [esp + 0x10]
cmp edx, 8
jl 0x503849
jmp 0x503820
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x503820
mov edx, dword [esi + 0x25c]
mov ecx, 0x1d
sub ecx, edx
mov eax, edi
shl eax, cl
or dword [esi + 0x258], eax
lea eax, [edx + 3]
mov dword [esi + 0x25c], eax
cmp eax, 8
jl 0x503899
mov edi, edi
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x503870
mov edx, dword [esi + 0x25c]
mov ecx, 0x11
mov ebp, dword [esp + 0x18]
sub ecx, edx
mov eax, ebp
shl eax, cl
or dword [esi + 0x258], eax
lea eax, [edx + 0xf]
mov dword [esi + 0x25c], eax
test ebp, ebp
jle 0x5039b2
lea eax, [esi + 0x4cd2]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x64], eax
mov ebx, ebp
xor ebp, ebp
cmp byte [eax], 0
jbe 0x503948
mov ebx, dword [esp + 0x64]
cmp dword [esi + 0x25c], 8
jl 0x503919
lea esp, [esp]
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x5038f0
mov edx, dword [esi + 0x25c]
mov ecx, 0x1f
sub ecx, edx
mov eax, 1
shl eax, cl
inc ebp
or dword [esi + 0x258], eax
lea eax, [edx + 1]
mov dword [esi + 0x25c], eax
movzx eax, byte [ebx]
cmp ebp, eax
jl 0x5038e0
mov ebx, dword [esp + 0x28]
cmp dword [esi + 0x25c], 8
jl 0x50397a
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x503951
mov edx, dword [esi + 0x25c]
xor eax, eax
mov ecx, 0x1f
sub ecx, edx
shl eax, cl
or dword [esi + 0x258], eax
lea eax, [edx + 1]
mov dword [esi + 0x25c], eax
mov eax, dword [esp + 0x64]
inc eax
dec ebx
mov dword [esp + 0x64], eax
mov dword [esp + 0x28], ebx
jne 0x5038d5
mov ebx, dword [esp + 0x14]
test edi, edi
jle 0x503b94
mov dword [esp + 0x28], edi
lea ebx, [esi + 0x9324]
mov edi, dword [esp + 0x24]
jmp 0x5039d0
cmp dword [esi + 0x25c], 8
movzx ebp, byte [ebx]
jl 0x503a09
lea esp, [esp]
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x5039e0
mov edx, dword [esi + 0x25c]
mov ecx, 0x1b
sub ecx, edx
mov eax, ebp
shl eax, cl
or dword [esi + 0x258], eax
lea eax, [edx + 5]
mov dword [esi + 0x25c], eax
test edi, edi
jle 0x503b78
mov dword [esp + 0x64], edi
movzx eax, byte [ebx]
cmp ebp, eax
jge 0x503aa4
lea esp, [esp]
cmp dword [esi + 0x25c], 8
jl 0x503a79
lea esp, [esp]
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x503a50
mov edx, dword [esi + 0x25c]
mov ecx, 0x1e
sub ecx, edx
mov eax, 2
shl eax, cl
inc ebp
or dword [esi + 0x258], eax
lea eax, [edx + 2]
mov dword [esi + 0x25c], eax
movzx eax, byte [ebx]
cmp ebp, eax
jl 0x503a40
movzx eax, byte [ebx]
cmp ebp, eax
jle 0x503b14
jmp 0x503ab0
cmp dword [esi + 0x25c], 8
jl 0x503ae9
lea esp, [esp]
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x503ac0
mov edx, dword [esi + 0x25c]
mov ecx, 0x1e
sub ecx, edx
mov eax, 3
shl eax, cl
dec ebp
or dword [esi + 0x258], eax
lea eax, [edx + 2]
mov dword [esi + 0x25c], eax
movzx eax, byte [ebx]
cmp ebp, eax
jg 0x503ab0
cmp dword [esi + 0x25c], 8
jl 0x503b49
lea ecx, [ecx]
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x503b20
mov edx, dword [esi + 0x25c]
mov ecx, 0x1f
xor eax, eax
sub ecx, edx
shl eax, cl
inc ebx
or dword [esi + 0x258], eax
dec dword [esp + 0x64]
lea eax, [edx + 1]
mov dword [esi + 0x25c], eax
jne 0x503a35
mov ebx, dword [esp + 0x2c]
add ebx, 0x102
dec dword [esp + 0x28]
mov dword [esp + 0x2c], ebx
jne 0x5039d0
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
xor edx, edx
xor ebp, ebp
mov dword [esp + 0x20], edx
cmp dword [esi + 0x274], edx
jle 0x50545b
jmp 0x503bb0
lea eax, [ebp + 0x31]
mov ecx, eax
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x274]
mov dword [esp + 0x1c], ecx
cmp ecx, eax
jl 0x503bcc
dec eax
mov dword [esp + 0x1c], eax
movzx eax, byte [edx + esi + 0x680]
cmp eax, edi
jl 0x503be9
push 0xbbe
call fcn.00505940
mov edx, dword [esp + 0x24]
add esp, 4
cmp edi, 6
jne 0x505392
mov eax, dword [esp + 0x1c]
sub eax, ebp
inc eax
cmp eax, 0x32
jne 0x505392
movzx ecx, byte [edx + esi + 0x680]
lea eax, [ecx + 0x92]
imul edx, eax, 0x102
lea eax, [ecx + 0x26]
imul ecx, eax, 0x408
movzx eax, word [ebx + ebp*2]
add edx, esi
add ecx, esi
mov dword [esp + 0x64], edx
cmp dword [esi + 0x25c], 8
mov dword [esp + 0x14], ecx
mov ecx, dword [ecx + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], eax
jl 0x503c7d
jmp 0x503c50
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x503c50
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 2]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x503cf0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x503cc3
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 4]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x503d6d
jmp 0x503d40
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x503d40
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 6]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x503de0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x503db3
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 8]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x503e5d
jmp 0x503e30
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x503e30
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0xa]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x503ed0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x503ea3
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0xc]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x503f4d
jmp 0x503f20
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x503f20
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0xe]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x503fc0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x503f93
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x10]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x50403d
jmp 0x504010
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504010
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x12]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x5040b0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504083
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x14]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x50412d
jmp 0x504100
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504100
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x16]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x5041a0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504173
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x18]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x50421d
jmp 0x5041f0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x5041f0
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x1a]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504290
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504263
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x1c]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x50430d
jmp 0x5042e0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x5042e0
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x1e]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504380
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504353
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x20]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x5043fd
jmp 0x5043d0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x5043d0
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x22]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504470
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504443
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x24]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x5044ed
jmp 0x5044c0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x5044c0
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x26]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504560
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504533
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x28]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x5045dd
jmp 0x5045b0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x5045b0
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x2a]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504650
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504623
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x2c]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x5046cd
jmp 0x5046a0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x5046a0
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x2e]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504740
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504713
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x30]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x5047bd
jmp 0x504790
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504790
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x32]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504830
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504803
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x34]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x5048ad
jmp 0x504880
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504880
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x36]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504920
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x5048f3
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x38]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x50499d
jmp 0x504970
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504970
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x3a]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504a10
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x5049e3
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x3c]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504a8d
jmp 0x504a60
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504a60
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x3e]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504b00
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504ad3
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x40]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504b7d
jmp 0x504b50
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504b50
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x42]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504bf0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504bc3
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x44]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504c6d
jmp 0x504c40
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504c40
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x46]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504ce0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504cb3
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x48]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504d5d
jmp 0x504d30
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504d30
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x4a]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504dd0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504da3
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x4c]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504e4d
jmp 0x504e20
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504e20
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x4e]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504ec0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504e93
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x50]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504f3d
jmp 0x504f10
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504f10
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x52]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x504fb0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x504f83
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x54]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x50502d
jmp 0x505000
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x505000
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x56]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x5050a0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x505073
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x58]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x50511d
jmp 0x5050f0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x5050f0
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x5a]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x505190
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x505163
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x5c]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x50520d
jmp 0x5051e0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x5051e0
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov edi, dword [esp + 0x14]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x5e]
mov edi, dword [edi + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x505280
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x505253
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edi, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl edi, cl
mov ecx, dword [esp + 0x2c]
or dword [esi + 0x258], edi
add ecx, eax
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + ebp*2 + 0x60]
mov ebp, dword [esp + 0x14]
mov edi, dword [ebp + eax*4]
movzx eax, byte [eax + edx]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
cmp ecx, 8
jl 0x5052fd
jmp 0x5052d0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x5052d0
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
sub ecx, eax
sub ecx, dword [esp + 0x2c]
shl dword [esp + 0x28], cl
mov ecx, dword [esp + 0x28]
or dword [esi + 0x258], ecx
mov ecx, dword [esp + 0x2c]
add ecx, eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x25c], ecx
movzx eax, word [ebx + eax*2]
movzx edx, byte [eax + edx]
mov ebp, dword [ebp + eax*4]
mov dword [esp + 0x64], edx
cmp ecx, 8
jl 0x50536e
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x505341
mov edx, dword [esp + 0x64]
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
sub ecx, eax
sub ecx, edx
shl ebp, cl
or dword [esi + 0x258], ebp
add eax, edx
mov dword [esi + 0x25c], eax
jmp 0x505441
cmp ebp, dword [esp + 0x1c]
jg 0x505445
mov edi, dword [esp + 0x1c]
movzx ecx, byte [edx + esi + 0x680]
movzx edx, word [ebx + ebp*2]
lea eax, [ecx + 0x26]
imul eax, eax, 0x102
add eax, edx
mov eax, dword [esi + eax*4]
mov dword [esp + 0x30], eax
lea eax, [ecx + 0x92]
imul eax, eax, 0x102
add eax, edx
cmp dword [esi + 0x25c], 8
movzx eax, byte [eax + esi]
mov dword [esp + 0x64], eax
jl 0x505409
lea ecx, [ecx]
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x2c]
mov al, byte [esi + 0x25b]
mov byte [edx + ecx], al
inc dword [esi + 0x4c]
shl dword [esi + 0x258], 8
add dword [esi + 0x25c], 0xfffffff8
cmp dword [esi + 0x25c], 8
jge 0x5053e0
mov eax, dword [esi + 0x25c]
mov ecx, 0x20
mov edx, dword [esp + 0x30]
sub ecx, eax
sub ecx, dword [esp + 0x64]
inc ebp
add eax, dword [esp + 0x64]
shl edx, cl
or dword [esi + 0x258], edx
mov edx, dword [esp + 0x20]
mov dword [esi + 0x25c], eax
cmp ebp, edi
jle 0x5053a0
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
inc edx
inc ebp
mov dword [esp + 0x20], edx
cmp ebp, dword [esi + 0x274]
jl 0x503bb0
pop edi
pop esi
pop ebp
pop ebx
cmp edx, dword [esp + 8]
je 0x505475
add esp, 0x50
mov dword [esp + 4], 0xbbf
jmp fcn.00505940
add esp, 0x50
ret