Function at 0x5931f0
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 0x593240
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 0x593221
cmp dword [esi + 0x274], 0
mov ebx, dword [esp + 0x14]
jg 0x593267
push 0xbb9
call fcn.00596320
add esp, 4
mov eax, dword [esi + 0x274]
mov dword [esp + 0x28], eax
cmp eax, 0xc8
jge 0x59327f
mov edx, 2
jmp 0x5932a8
cmp eax, 0x258
jge 0x59328d
mov edx, 3
jmp 0x5932a8
cmp eax, 0x4b0
jge 0x59329b
mov edx, 4
jmp 0x5932a8
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 0x593383
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 0x593301
lea edx, [ebp - 1]
mov dword [esp + 0x30], edx
lea edx, [esi + 0x278]
lea edx, [edx + ecx*4]
cmp ecx, dword [esp + 0x30]
jge 0x593301
add edi, dword [edx + 4]
add edx, 4
inc ecx
cmp edi, eax
jl 0x5932f0
mov edx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x18]
jle 0x593335
mov eax, dword [esp + 0x20]
cmp eax, edx
je 0x593335
cmp eax, 1
je 0x593335
mov eax, dword [esp + 0x1c]
and eax, reloc.WS2_32.dll_accept
jns 0x593328
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
jne 0x593335
sub edi, dword [esi + ecx*4 + 0x278]
dec ecx
xor eax, eax
test ebp, ebp
jle 0x593359
jmp 0x593340
cmp eax, dword [esp + 0x18]
jl 0x593350
cmp eax, ecx
jg 0x593350
mov byte [ebx + eax], 0
jmp 0x593354
mov byte [ebx + eax], 0xf
inc eax
cmp eax, ebp
jl 0x593340
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 0x5932d2
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x20], 4
jmp 0x593390
test edx, edx
jle 0x5933d1
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 0x5933c0
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 0x5933b0
mov ebx, dword [esp + 0x14]
cmp edx, 6
jne 0x59343c
test ebp, ebp
jle 0x59343c
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 0x5933f0
mov ebx, dword [esp + 0x14]
xor ebp, ebp
mov dword [esp + 0x18], 0
cmp dword [esi + 0x274], ebp
jle 0x593eb5
mov ecx, dword [esi + 0x274]
lea eax, [ebp + 0x31]
mov dword [esp + 0x1c], eax
cmp eax, ecx
jl 0x59346a
lea eax, [ecx - 1]
mov dword [esp + 0x1c], eax
test edx, edx
jle 0x59347f
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 0x593bd2
mov eax, edi
sub eax, ebp
inc eax
cmp eax, 0x32
jne 0x593bd2
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 0x593c29
mov dword [esp + 0x28], ebp
mov eax, ebp
cmp ebp, edi
jg 0x593c29
lea esp, [esp]
movzx ecx, word [ebx + eax*2]
mov dword [esp + 0x30], ecx
xor ecx, ecx
test edx, edx
jle 0x593c20
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 0x593c01
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 0x593be0
or ecx, 0xffffffff
mov dword [esp + 0x30], 0x3b9ac9ff
xor eax, eax
mov dword [esp + 0x28], ecx
test edx, edx
jle 0x593c62
mov esi, dword [esp + 0x30]
movzx ecx, word [esp + eax*2 + 0x38]
cmp ecx, esi
jge 0x593c55
mov esi, ecx
mov ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x593c59
mov ecx, dword [esp + 0x28]
inc eax
cmp eax, edx
jl 0x593c42
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 0x593e8b
mov eax, edi
sub eax, ebp
inc eax
cmp eax, 0x32
jne 0x593e8b
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 0x593ea6
cmp ebp, edi
jg 0x593ea6
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 0x593e98
lea ebp, [edi + 1]
cmp ebp, dword [esi + 0x274]
jl 0x593452
mov ebp, dword [esp + 0x24]
test edx, edx
jle 0x593ef8
lea edi, [esi + 0x9324]
lea ebx, [esi + 0xb160]
mov esi, edx
jmp 0x593ed0
push 0x11
push ebp
push ebx
push edi
call fcn.00596020
add esp, 0x10
add ebx, 0x408
add edi, 0x102
dec esi
jne 0x593ed0
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
dec dword [esp + 0x20]
jne 0x593390
cmp edx, 8
jl 0x593f14
push 0xbba
call fcn.00596320
add esp, 4
mov ecx, dword [esp + 0x18]
cmp ecx, 0x8000
jge 0x593f28
cmp ecx, 0x4652
jle 0x593f39
push 0xbbb
call fcn.00596320
mov ecx, dword [esp + 0x1c]
add esp, 4
mov edi, dword [esp + 0x10]
xor eax, eax
test edi, edi
jle 0x593f4c
mov byte [esp + eax + 0x30], al
inc eax
cmp eax, edi
jl 0x593f43
test ecx, ecx
jle 0x593f92
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 0x593f7f
lea esp, [esp]
inc edx
mov al, cl
mov cl, byte [esp + edx + 0x30]
mov byte [esp + edx + 0x30], al
cmp ah, cl
jne 0x593f70
mov byte [ebp], dl
inc ebp
mov byte [esp + 0x30], cl
dec ebx
jne 0x593f60
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x24]
test edi, edi
jle 0x594034
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 0x59400e
movzx eax, byte [ebx + ecx]
cmp eax, dword [esp + 0x64]
jle 0x593fd1
mov dword [esp + 0x64], eax
cmp eax, edx
jge 0x593fd7
mov edx, eax
inc ecx
cmp ecx, ebp
jl 0x593fc3
cmp dword [esp + 0x64], 0x11
mov dword [esp + 0x28], edx
jle 0x593ff8
push 0xbbc
call fcn.00596320
mov edx, dword [esp + 0x2c]
add esp, 4
cmp edx, 1
jge 0x59400e
push 0xbbd
call fcn.00596320
mov edx, dword [esp + 0x2c]
add esp, 4
push ebp
push dword [esp + 0x68]
push edx
push ebx
push edi
call fcn.00595e60
add esp, 0x14
add ebx, 0x102
add edi, 0x408
dec dword [esp + 0x20]
jne 0x593fb0
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 0x594052
mov byte [esp + edx + 0x38], 1
inc eax
cmp eax, 0x10
jl 0x594047
inc edx
add ecx, 0x10
cmp edx, 0x10
jl 0x594040
xor eax, eax
mov dword [esp + 0x28], eax
cmp byte [esp + eax + 0x38], 0
je 0x5940b0
cmp dword [esi + 0x25c], 8
jl 0x5940a9
jmp 0x594080
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 0x594080
mov eax, 1
jmp 0x5940eb
cmp dword [esi + 0x25c], 8
jl 0x5940e9
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 0x5940c0
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 0x594067
xor eax, eax
mov dword [esp + 0x28], eax
nop
cmp byte [esp + eax + 0x38], 0
je 0x5941d9
mov edi, dword [esp + 0x64]
xor ebp, ebp
cmp byte [edi + ebp], 0
je 0x594170
cmp edx, 8
jl 0x594169
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 0x594140
mov eax, 1
jmp 0x5941ab
cmp edx, 8
jl 0x5941a9
jmp 0x594180
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 0x594180
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 0x594131
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 0x594120
mov edi, dword [esp + 0x10]
cmp edx, 8
jl 0x594229
jmp 0x594200
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 0x594200
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 0x594279
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 0x594250
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 0x594392
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 0x594328
mov ebx, dword [esp + 0x64]
cmp dword [esi + 0x25c], 8
jl 0x5942f9
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 0x5942d0
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 0x5942c0
mov ebx, dword [esp + 0x28]
cmp dword [esi + 0x25c], 8
jl 0x59435a
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 0x594331
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 0x5942b5
mov ebx, dword [esp + 0x14]
test edi, edi
jle 0x594574
mov dword [esp + 0x28], edi
lea ebx, [esi + 0x9324]
mov edi, dword [esp + 0x24]
jmp 0x5943b0
cmp dword [esi + 0x25c], 8
movzx ebp, byte [ebx]
jl 0x5943e9
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 0x5943c0
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 0x594558
mov dword [esp + 0x64], edi
movzx eax, byte [ebx]
cmp ebp, eax
jge 0x594484
lea esp, [esp]
cmp dword [esi + 0x25c], 8
jl 0x594459
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 0x594430
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 0x594420
movzx eax, byte [ebx]
cmp ebp, eax
jle 0x5944f4
jmp 0x594490
cmp dword [esi + 0x25c], 8
jl 0x5944c9
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 0x5944a0
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 0x594490
cmp dword [esi + 0x25c], 8
jl 0x594529
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 0x594500
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 0x594415
mov ebx, dword [esp + 0x2c]
add ebx, 0x102
dec dword [esp + 0x28]
mov dword [esp + 0x2c], ebx
jne 0x5943b0
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 0x595e3b
jmp 0x594590
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 0x5945ac
dec eax
mov dword [esp + 0x1c], eax
movzx eax, byte [edx + esi + 0x680]
cmp eax, edi
jl 0x5945c9
push 0xbbe
call fcn.00596320
mov edx, dword [esp + 0x24]
add esp, 4
cmp edi, 6
jne 0x595d72
mov eax, dword [esp + 0x1c]
sub eax, ebp
inc eax
cmp eax, 0x32
jne 0x595d72
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 0x59465d
jmp 0x594630
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 0x594630
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 0x5946d0
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 0x5946a3
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 0x59474d
jmp 0x594720
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 0x594720
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 0x5947c0
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 0x594793
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 0x59483d
jmp 0x594810
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 0x594810
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 0x5948b0
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 0x594883
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 0x59492d
jmp 0x594900
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 0x594900
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 0x5949a0
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 0x594973
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 0x594a1d
jmp 0x5949f0
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 0x5949f0
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 0x594a90
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 0x594a63
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 0x594b0d
jmp 0x594ae0
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 0x594ae0
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 0x594b80
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 0x594b53
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 0x594bfd
jmp 0x594bd0
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 0x594bd0
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 0x594c70
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 0x594c43
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 0x594ced
jmp 0x594cc0
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 0x594cc0
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 0x594d60
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 0x594d33
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 0x594ddd
jmp 0x594db0
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 0x594db0
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 0x594e50
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 0x594e23
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 0x594ecd
jmp 0x594ea0
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 0x594ea0
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 0x594f40
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 0x594f13
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 0x594fbd
jmp 0x594f90
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 0x594f90
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 0x595030
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 0x595003
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 0x5950ad
jmp 0x595080
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 0x595080
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 0x595120
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 0x5950f3
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 0x59519d
jmp 0x595170
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 0x595170
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 0x595210
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 0x5951e3
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 0x59528d
jmp 0x595260
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 0x595260
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 0x595300
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 0x5952d3
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 0x59537d
jmp 0x595350
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 0x595350
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 0x5953f0
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 0x5953c3
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 0x59546d
jmp 0x595440
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 0x595440
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 0x5954e0
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 0x5954b3
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 0x59555d
jmp 0x595530
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 0x595530
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 0x5955d0
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 0x5955a3
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 0x59564d
jmp 0x595620
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 0x595620
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 0x5956c0
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 0x595693
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 0x59573d
jmp 0x595710
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 0x595710
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 0x5957b0
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 0x595783
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 0x59582d
jmp 0x595800
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 0x595800
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 0x5958a0
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 0x595873
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 0x59591d
jmp 0x5958f0
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 0x5958f0
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 0x595990
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 0x595963
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 0x595a0d
jmp 0x5959e0
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 0x5959e0
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 0x595a80
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 0x595a53
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 0x595afd
jmp 0x595ad0
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 0x595ad0
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 0x595b70
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 0x595b43
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 0x595bed
jmp 0x595bc0
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 0x595bc0
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 0x595c60
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 0x595c33
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 0x595cdd
jmp 0x595cb0
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 0x595cb0
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 0x595d4e
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 0x595d21
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 0x595e21
cmp ebp, dword [esp + 0x1c]
jg 0x595e25
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 0x595de9
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 0x595dc0
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 0x595d80
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 0x594590
pop edi
pop esi
pop ebp
pop ebx
cmp edx, dword [esp + 8]
je 0x595e55
add esp, 0x50
mov dword [esp + 4], 0xbbf
jmp fcn.00596320
add esp, 0x50
ret