Function at 0x4c3930
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2ec
mov edx, dword [ebp + 8]
mov al, byte [ebp + 0xc]
mov byte [ebp - 0x169], al
mov edx, dword [edx + 0x44]
mov dword [ebp - 0x2a8], edx
test edx, edx
jle 0x4c39b2
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x260]
mov eax, dword [ecx + 0x264]
rol eax, 1
xor edx, 0xffffffff
xor eax, edx
mov dword [ecx + 0x260], edx
mov dword [ecx + 0x264], eax
cmp dword [ecx + 0x26c], 1
jle 0x4c3987
mov dword [ecx + 0x4c], 0
mov ebx, dword [ebp + 8]
cmp dword [ebx + 0x268], 1
jg 0x4c44ba
sub esp, 0xc
mov ebx, dword [ebp + 8]
push ebx
call fcn.004c9ab0
mov esi, dword [ebp + 8]
add esp, 0x10
mov esi, dword [esi + 0x44]
mov dword [ebp - 0x2a8], esi
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [edx + 0x14]
add eax, ecx
mov dword [edx + 0x2c], eax
cmp dword [edx + 0x26c], 1
je 0x4c4462
mov eax, dword [ebp - 0x2a8]
test eax, eax
jle 0x4c3b0f
mov edx, 0x31
mov eax, dword [ebp + 8]
call fcn.004c3890
mov edx, 0x41
mov eax, dword [ebp + 8]
call fcn.004c3890
mov edx, 0x59
mov eax, dword [ebp + 8]
call fcn.004c3890
mov edx, 0x26
mov eax, dword [ebp + 8]
call fcn.004c3890
mov edx, 0x53
mov eax, dword [ebp + 8]
call fcn.004c3890
mov edx, 0x59
mov eax, dword [ebp + 8]
call fcn.004c3890
mov esi, dword [ebp + 8]
mov eax, esi
mov edx, dword [esi + 0x260]
call fcn.004c36e0
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x25c]
cmp esi, 7
jle 0x4c3c17
mov edx, dword [eax + 0x258]
mov dword [ebp - 0x2ec], edx
jmp 0x4c3a75
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], ebx
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x2ec]
shr edi, 0x18
mov eax, dword [esi + 0x4c]
mov dword [ebp - 0x2ec], edi
mov edx, dword [esi + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov ebx, dword [esi + 0x4c]
mov eax, dword [ebp + 8]
inc ebx
mov dword [esi + 0x4c], ebx
mov ebx, dword [esi + 0x258]
shl ebx, 8
mov esi, dword [eax + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], ebx
cmp esi, 7
jg 0x4c3a60
jmp 0x4c3c26
mov ecx, dword [ebp - 0x190]
cmp dword [ebp - 0x19c], ecx
je 0x4c3ae0
sub esp, 0xc
push 0xbbf
call fcn.004be4f0
add esp, 0x10
mov ebx, dword [ebp + 8]
cmp dword [ebx + 0x268], 2
jle 0x4c3b0f
push ecx
mov eax, dword [ebx + 0x4c]
mov edx, dword [ebp - 0x2ac]
sub eax, edx
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push str.codes__d_n
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x10
cmp byte [ebp - 0x169], 0
jne 0x4c3b20
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, 0x17
mov eax, dword [ebp + 8]
call fcn.004c3890
mov edx, 0x72
mov eax, dword [ebp + 8]
call fcn.004c3890
mov edx, 0x45
mov eax, dword [ebp + 8]
call fcn.004c3890
mov edx, 0x38
mov eax, dword [ebp + 8]
call fcn.004c3890
mov edx, 0x50
mov eax, dword [ebp + 8]
call fcn.004c3890
mov edx, 0x90
mov eax, dword [ebp + 8]
call fcn.004c3890
mov esi, dword [ebp + 8]
mov eax, esi
mov edx, dword [esi + 0x264]
call fcn.004c36e0
cmp dword [esi + 0x268], 1
jle 0x4c3ba5
push eax
mov eax, dword [esi + 0x264]
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push str.____final_combined_CRC__0x_08x_n
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x10
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x25c]
test edi, edi
jle 0x4c3b18
mov edx, dword [eax + 0x258]
mov dword [ebp - 0x2ec], edx
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov bl, byte [ebp - 0x2ec]
mov byte [edx + eax], bl
mov eax, dword [ecx + 0x258]
mov ebx, dword [ecx + 0x4c]
shl eax, 8
inc ebx
mov dword [ebp - 0x2ec], eax
mov dword [ecx + 0x258], eax
mov eax, dword [ecx + 0x25c]
mov dword [ecx + 0x4c], ebx
sub eax, 8
mov dword [ecx + 0x25c], eax
test eax, eax
jg 0x4c3bc2
jmp 0x4c3b18
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x258]
mov dword [ebp - 0x2ec], edx
mov ebx, dword [ebp + 8]
inc esi
mov ecx, dword [ebp - 0x2ec]
cmp esi, 7
mov dword [ebx + 0x25c], esi
mov dword [ebp - 0x2c0], ecx
mov ebx, dword [ebx + 0x1c]
jg 0x4c3c4f
jmp 0x4c3ca9
mov edx, dword [ebp + 8]
mov dword [edx + 0x25c], esi
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2c0]
mov dword [ecx + 0x258], esi
mov eax, dword [ecx + 0x4c]
mov edx, dword [ecx + 0x2c]
mov ecx, dword [ebp - 0x2ec]
shr ecx, 0x18
mov dword [ebp - 0x2ec], ecx
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x4c]
inc eax
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x258]
shl eax, 8
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x2c0], eax
cmp esi, 7
jg 0x4c3c46
mov eax, esi
mov edi, dword [ebp - 0x2ec]
neg eax
add eax, 8
add esi, 0x18
mov cl, al
mov eax, dword [ebp + 8]
shl ebx, cl
or ebx, edi
mov edx, dword [eax + 0x20]
mov dword [eax + 0x258], ebx
mov ecx, dword [eax + 0x24]
mov ebx, dword [eax + 0x28]
mov dword [ebp - 0x174], edx
mov dword [eax + 0x25c], esi
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x2a0], ebx
mov dword [eax + 0x54], 0
xor edx, edx
mov esi, dword [ebp + 8]
cmp byte [edx + esi + 0x58], 0
je 0x4c3d0a
mov eax, dword [esi + 0x54]
mov byte [edx + esi + 0x158], al
inc eax
mov dword [esi + 0x54], eax
inc edx
cmp edx, 0xff
jle 0x4c3cf2
mov eax, dword [ebp + 8]
xor edi, edi
mov eax, dword [eax + 0x54]
mov dword [ebp - 0x2b0], eax
inc eax
cmp edi, eax
mov dword [ebp - 0x170], eax
jmp 0x4c3d41
mov edx, dword [ebp + 8]
mov dword [edx + edi*4 + 0x278], 0
inc edi
cmp edi, dword [ebp - 0x170]
jle 0x4c3d2c
xor esi, esi
xor edx, edx
xor edi, edi
cmp dword [ebp - 0x2b0], 0
jmp 0x4c3d62
mov ecx, edi
mov byte [ebp + edi - 0x118], cl
inc edi
cmp dword [ebp - 0x2b0], edi
jg 0x4c3d52
mov ebx, dword [ebp + 8]
xor edi, edi
mov ebx, dword [ebx + 0x44]
mov dword [ebp - 0x2a8], ebx
cmp ebx, 0
jle 0x4c3ed8
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + edi*4]
dec ecx
js 0x4c44f6
mov ebx, dword [ebp - 0x178]
xor eax, eax
mov al, byte [ebx + ecx]
mov ecx, dword [ebp + 8]
mov al, byte [eax + ecx + 0x158]
mov byte [ebp - 0x179], al
mov al, byte [ebp - 0x118]
cmp al, byte [ebp - 0x179]
je 0x4c44f0
test edx, edx
jle 0x4c3e1c
dec edx
jmp 0x4c3ded
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0x2a0]
mov eax, dword [ebx + 0x278]
mov word [ecx + esi*2], 0
inc eax
inc esi
mov dword [ebx + 0x278], eax
cmp edx, 1
jle 0x4c3e14
sub edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
sar edx, 1
test dl, 1
je 0x4c3dbf
mov eax, dword [ebp + 8]
mov ebx, dword [ebp - 0x2a0]
mov ecx, dword [eax + 0x27c]
mov word [ebx + esi*2], 1
inc ecx
inc esi
mov dword [eax + 0x27c], ecx
cmp edx, 1
jg 0x4c3de1
xor edx, edx
mov al, byte [ebp - 0x118]
mov cl, byte [ebp - 0x117]
lea ebx, [ebp - 0x117]
mov byte [ebp - 0x117], al
jmp 0x4c3e37
inc ebx
mov al, cl
mov cl, byte [ebx]
mov byte [ebx], al
cmp byte [ebp - 0x179], cl
jne 0x4c3e30
mov byte [ebp - 0x118], cl
lea eax, [ebp - 0x118]
mov ecx, ebx
mov ebx, dword [ebp - 0x2a0]
sub ecx, eax
lea eax, [ecx + 1]
mov word [ebx + esi*2], ax
mov eax, dword [ebp + 8]
inc esi
mov ebx, dword [eax + ecx*4 + 0x27c]
inc ebx
mov dword [eax + ecx*4 + 0x27c], ebx
inc edi
cmp dword [ebp - 0x2a8], edi
jg 0x4c3d7b
test edx, edx
jle 0x4c3ed8
dec edx
jmp 0x4c3eb1
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [ebp + 8]
mov word [eax + esi*2], 0
mov eax, dword [ecx + 0x278]
inc eax
inc esi
mov dword [ecx + 0x278], eax
cmp edx, 1
jle 0x4c3ed8
sub edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
sar edx, 1
test dl, 1
je 0x4c3e83
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0x2a0]
mov eax, dword [ebx + 0x27c]
mov word [ecx + esi*2], 1
inc eax
inc esi
mov dword [ebx + 0x27c], eax
cmp edx, 1
jg 0x4c3ea5
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x170]
mov ebx, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x170]
mov word [ebx + esi*2], ax
mov eax, dword [ecx + edx*4 + 0x278]
inc esi
inc eax
mov dword [ecx + edx*4 + 0x278], eax
mov dword [ecx + 0x274], esi
cmp dword [ecx + 0x268], 2
jg 0x4c60d9
mov esi, dword [ebp - 0x2b0]
xor ebx, ebx
add esi, 2
mov edx, dword [ebp + 8]
mov dword [ebp - 0x194], esi
xor ecx, ecx
cmp ecx, dword [ebp - 0x194]
jge 0x4c3f45
lea eax, [edx + 0x9324]
mov byte [eax], 0xf
inc ecx
inc eax
cmp ecx, dword [ebp - 0x194]
jl 0x4c3f38
inc ebx
add edx, 0x102
cmp ebx, 5
jle 0x4c3f28
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x274]
mov dword [ebp - 0x2bc], eax
test eax, eax
jle 0x4c6120
mov dword [ebp - 0x1a0], 2
cmp dword [ebp - 0x2bc], 0xc7
jle 0x4c3fd1
mov dword [ebp - 0x1a0], 3
cmp dword [ebp - 0x2bc], 0x257
jle 0x4c3fd1
mov dword [ebp - 0x1a0], 4
cmp dword [ebp - 0x2bc], 0x4af
jle 0x4c3fd1
cmp dword [ebp - 0x2bc], 0x95f
setg al
and eax, 0xff
mov dword [ebp - 0x1a0], eax
mov esi, dword [ebp - 0x1a0]
add esi, 5
mov dword [ebp - 0x1a0], esi
mov edi, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x180], 0
test edi, edi
jle 0x4c610c
mov eax, edi
mov ebx, dword [ebp + 8]
shl eax, 7
mov edx, dword [ebp + 8]
add eax, edi
mov esi, dword [ebp - 0x194]
mov ebx, dword [ebx + 0x268]
dec esi
lea eax, [edx + eax*2]
mov dword [ebp - 0x2b8], ebx
mov dword [ebp - 0x2d8], esi
mov dword [ebp - 0x2e8], eax
mov edx, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x180]
mov eax, edx
dec ecx
sar edx, 0x1f
xor esi, esi
idiv edi
mov dword [ebp - 0x184], ecx
cmp esi, eax
jge 0x4c4077
cmp dword [ebp - 0x2d8], ecx
jle 0x4c4077
mov ebx, dword [ebp - 0x184]
mov edx, dword [ebp + 8]
inc ebx
mov dword [ebp - 0x184], ebx
mov ebx, dword [ebp - 0x184]
mov ecx, dword [edx + ebx*4 + 0x278]
add esi, ecx
cmp esi, eax
jge 0x4c4077
cmp dword [ebp - 0x2d8], ebx
jg 0x4c404c
mov ecx, dword [ebp - 0x180]
cmp dword [ebp - 0x184], ecx
setg dl
cmp edi, dword [ebp - 0x1a0]
setne al
and eax, 0xff
test edx, eax
je 0x4c40b9
cmp edi, 1
je 0x4c40b9
mov edx, dword [ebp - 0x1a0]
sub edx, edi
mov eax, edx
shr eax, 0x1f
lea eax, [edx + eax]
and eax, 0xfffffffe
sub edx, eax
dec edx
je 0x4c60a6
cmp dword [ebp - 0x2b8], 2
jg 0x4c524c
xor ecx, ecx
cmp ecx, dword [ebp - 0x194]
jge 0x4c410a
mov ebx, dword [ebp - 0x2e8]
add ebx, 0x9222
cmp ecx, dword [ebp - 0x180]
setge al
cmp ecx, dword [ebp - 0x184]
setle dl
and edx, 0xff
and edx, eax
cmp edx, 1
sbb eax, eax
inc ecx
and eax, 0xf
mov byte [ebx], al
inc ebx
cmp ecx, dword [ebp - 0x194]
jl 0x4c40dc
mov ebx, dword [ebp - 0x2e8]
mov ecx, dword [ebp - 0x1a8]
sub ebx, 0x102
sub ecx, esi
mov dword [ebp - 0x2e8], ebx
mov ebx, dword [ebp - 0x184]
inc ebx
dec edi
mov dword [ebp - 0x180], ebx
mov dword [ebp - 0x1a8], ecx
test edi, edi
jg 0x4c4024
mov dword [ebp - 0x18c], 0
xor ebx, ebx
cmp ebx, dword [ebp - 0x1a0]
jge 0x4c41a1
mov dword [ebp + ebx*4 - 0x148], 0
inc ebx
cmp ebx, dword [ebp - 0x1a0]
jl 0x4c4154
xor ebx, ebx
cmp ebx, dword [ebp - 0x1a0]
jge 0x4c41a1
xor edx, edx
xor ecx, ecx
jmp 0x4c418a
lea eax, [edx + ecx]
mov esi, dword [ebp + 8]
inc ecx
mov dword [esi + eax*4 + 0xb160], 0
cmp ecx, dword [ebp - 0x194]
jl 0x4c4178
inc ebx
add edx, 0x102
cmp ebx, dword [ebp - 0x1a0]
jl 0x4c4174
cmp dword [ebp - 0x1a0], 6
je 0x4c51d3
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x188], 0
mov eax, dword [ebp - 0x180]
cmp dword [ebp - 0x2bc], eax
jle 0x4c4353
add eax, 0x31
mov dword [ebp - 0x184], eax
cmp dword [ebp - 0x2bc], eax
jg 0x4c41fc
mov edx, dword [ebp - 0x2bc]
dec edx
mov dword [ebp - 0x184], edx
xor ebx, ebx
jmp 0x4c420b
mov word [ebp + ebx*2 - 0x128], 0
inc ebx
cmp ebx, dword [ebp - 0x1a0]
jl 0x4c4200
cmp dword [ebp - 0x1a0], 6
je 0x4c4aba
mov edi, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x184]
cmp edi, ecx
jg 0x4c4277
mov ebx, dword [ebp - 0x2a0]
mov ax, word [ebx + edi*2]
xor ebx, ebx
cmp ebx, dword [ebp - 0x1a0]
jge 0x4c426e
and eax, 0xffff
mov esi, dword [ebp + 8]
lea edx, [esi + eax + 0x9324]
xor eax, eax
mov al, byte [edx]
add edx, 0x102
add word [ebp + ebx*2 - 0x128], ax
inc ebx
cmp ebx, dword [ebp - 0x1a0]
jl 0x4c4253
inc edi
cmp edi, dword [ebp - 0x184]
jle 0x4c4230
xor ebx, ebx
or ecx, 0xffffffff
mov edx, 0x3b9ac9ff
cmp ebx, dword [ebp - 0x1a0]
jge 0x4c42ae
lea esi, [esi]
mov ax, word [ebp + ebx*2 - 0x128]
and eax, 0xffff
cmp eax, edx
jge 0x4c42a5
mov edx, eax
mov ecx, ebx
inc ebx
cmp ebx, dword [ebp - 0x1a0]
jl 0x4c4290
mov esi, dword [ebp - 0x188]
mov ebx, dword [ebp + ecx*4 - 0x148]
add esi, edx
mov eax, dword [ebp - 0x190]
mov edx, dword [ebp + 8]
inc ebx
mov dword [ebp - 0x188], esi
mov dword [ebp + ecx*4 - 0x148], ebx
mov byte [eax + edx + 0x680], cl
inc eax
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x1a0], 6
je 0x4c4503
mov edi, dword [ebp - 0x180]
cmp edi, dword [ebp - 0x184]
jg 0x4c4334
mov eax, ecx
shl eax, 7
add eax, ecx
lea edx, [eax + eax]
mov ebx, dword [ebp - 0x2a0]
mov esi, dword [ebp + 8]
mov ax, word [ebx + edi*2]
inc edi
and eax, 0xffff
lea eax, [edx + eax]
mov ecx, dword [esi + eax*4 + 0xb160]
inc ecx
cmp edi, dword [ebp - 0x184]
mov dword [esi + eax*4 + 0xb160], ecx
jle 0x4c4307
mov eax, dword [ebp - 0x184]
inc eax
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x180]
cmp dword [ebp - 0x2bc], eax
jg 0x4c41de
mov edx, dword [ebp - 0x18c]
inc edx
mov dword [ebp - 0x2a4], edx
cmp dword [ebp - 0x2b8], 2
jle 0x4c43e6
mov eax, dword [ebp - 0x188]
test eax, eax
js 0x4c52ad
sar eax, 3
mov ecx, dword [ebp - 0x18c]
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
inc ecx
add eax, 0x40
push ecx
xor ebx, ebx
push str.______pass__d:_size_is__d__grp_uses_are
push eax
mov dword [ebp - 0x2a4], ecx
call sub.msvcrt.dll_fprintf
add esp, 0x10
cmp ebx, dword [ebp - 0x1a0]
jge 0x4c43d1
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov esi, dword [ebp + ebx*4 - 0x148]
add eax, 0x40
push edi
push esi
push 0x4fb439
push eax
inc ebx
call sub.msvcrt.dll_fprintf
add esp, 0x10
cmp ebx, dword [ebp - 0x1a0]
jl 0x4c43a9
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push ecx
push ecx
push eax
push 0xa
call sub.msvcrt.dll_fputc
add esp, 0x10
xor ebx, ebx
cmp ebx, dword [ebp - 0x1a0]
jge 0x4c442a
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 8]
add edi, 0x9324
add esi, 0xb160
mov edx, dword [ebp - 0x194]
push 0x11
inc ebx
push edx
push esi
push edi
add esi, 0x408
call fcn.004c8be0
add edi, 0x102
add esp, 0x10
cmp ebx, dword [ebp - 0x1a0]
jl 0x4c4402
mov ebx, dword [ebp - 0x2a4]
mov dword [ebp - 0x18c], ebx
cmp ebx, 3
jg 0x4c52b5
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 0x268]
mov edx, dword [edx + 0x274]
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2bc], edx
jmp 0x4c414a
push edx
call fcn.004c36c0
mov edx, 0x42
mov eax, dword [ebp + 8]
call fcn.004c3890
mov edx, 0x5a
mov eax, dword [ebp + 8]
call fcn.004c3890
mov edx, 0x68
mov eax, dword [ebp + 8]
call fcn.004c3890
mov ecx, dword [ebp + 8]
mov dl, byte [ecx + 0x270]
mov eax, ecx
add edx, 0x30
and edx, 0xff
call fcn.004c3890
mov ebx, dword [ebp + 8]
pop eax
mov ebx, dword [ebx + 0x44]
mov dword [ebp - 0x2a8], ebx
jmp 0x4c39d0
push eax
push eax
mov eax, dword [ebx + 0x44]
push eax
mov eax, dword [ebx + 0x264]
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov edi, dword [ebx + 0x260]
add eax, 0x40
push edi
mov esi, dword [ebx + 0x26c]
push esi
push str.____block__d:_crc__0x_08x__combined_CRC__0x_08x__size___d_n
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x20
jmp 0x4c3997
inc edx
jmp 0x4c3e6f
mov ebx, dword [ebp - 0x2a8]
add ecx, ebx
jmp 0x4c3d8b
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x180]
sub eax, edx
cmp eax, 0x31
jne 0x4c42ef
mov ebx, dword [ebp - 0x180]
mov esi, dword [ebp - 0x2a0]
mov edx, ecx
shl edx, 7
mov ax, word [esi + ebx*2]
add edx, ecx
and eax, 0xffff
add edx, edx
mov ecx, dword [ebp + 8]
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 2]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 4]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 6]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 8]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0xa]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0xc]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0xe]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x10]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x12]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x14]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x16]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x18]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x1a]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x1c]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x1e]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x20]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x22]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x24]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x26]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x28]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x2a]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x2c]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x2e]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x30]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x32]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x34]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x36]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x38]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x3a]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x3c]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x3e]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x40]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x42]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x44]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x46]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x48]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x4a]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x4c]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x4e]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x50]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x52]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x54]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x56]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x58]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x5a]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x5c]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x5e]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x60]
and eax, 0xffff
lea eax, [edx + eax]
mov edi, dword [ecx + eax*4 + 0xb160]
inc edi
mov dword [ecx + eax*4 + 0xb160], edi
mov ax, word [esi + ebx*2 + 0x62]
and eax, 0xffff
add edx, eax
mov eax, dword [ebp - 0x184]
inc eax
mov ebx, dword [ecx + edx*4 + 0xb160]
mov dword [ebp - 0x180], eax
inc ebx
mov dword [ecx + edx*4 + 0xb160], ebx
jmp 0x4c41cc
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x180]
sub eax, edx
cmp eax, 0x31
jne 0x4c4220
mov ecx, dword [ebp - 0x180]
mov ebx, dword [ebp - 0x2a0]
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 8]
mov ax, word [ebx + ecx*2]
mov edx, eax
mov ax, word [ebx + ecx*2 + 2]
and edx, 0xffff
and eax, 0xffff
shl edx, 4
shl eax, 4
add edx, edi
add eax, esi
mov ebx, dword [edx + 0xc990]
mov esi, dword [edx + 0xc994]
mov edi, dword [eax + 0xc990]
add edi, ebx
mov ebx, dword [eax + 0xc994]
add ebx, esi
mov esi, dword [eax + 0xc998]
mov eax, dword [edx + 0xc998]
mov edx, dword [ebp - 0x2a0]
add esi, eax
mov ax, word [edx + ecx*2 + 4]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 6]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 8]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0xa]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0xc]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0xe]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x10]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x12]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x14]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
add edi, dword [eax + 0xc990]
mov ax, word [edx + ecx*2 + 0x16]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x18]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x1a]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x1c]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x1e]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x20]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x22]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x24]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x26]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x28]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x2a]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
add edi, dword [eax + 0xc990]
mov ax, word [edx + ecx*2 + 0x2c]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x2e]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x30]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x32]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x34]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x36]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x38]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x3a]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x3c]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x3e]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x40]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
add edi, dword [eax + 0xc990]
mov ax, word [edx + ecx*2 + 0x42]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x44]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x46]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x48]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x4a]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x4c]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x4e]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x50]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x52]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x54]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x56]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
add edi, dword [eax + 0xc990]
mov ax, word [edx + ecx*2 + 0x58]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x5a]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x5c]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x5e]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x60]
and eax, 0xffff
shl eax, 4
add eax, dword [ebp + 8]
add edi, dword [eax + 0xc990]
add ebx, dword [eax + 0xc994]
add esi, dword [eax + 0xc998]
mov ax, word [edx + ecx*2 + 0x62]
and eax, 0xffff
mov ecx, dword [ebp + 8]
shl eax, 4
add eax, ecx
mov edx, dword [eax + 0xc990]
mov ecx, dword [eax + 0xc994]
add edi, edx
mov edx, dword [eax + 0xc998]
add ebx, ecx
add esi, edx
mov word [ebp - 0x128], di
mov word [ebp - 0x124], bx
shr edi, 0x10
mov word [ebp - 0x120], si
shr ebx, 0x10
mov word [ebp - 0x126], di
shr esi, 0x10
mov word [ebp - 0x122], bx
mov word [ebp - 0x11e], si
jmp 0x4c4277
xor ecx, ecx
cmp ecx, dword [ebp - 0x194]
jge 0x4c41ae
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 8]
add ebx, 0x972c
xor eax, eax
xor edx, edx
mov al, byte [ebx - 0x306]
mov dl, byte [ebx - 0x408]
shl eax, 0x10
inc ecx
or eax, edx
xor edx, edx
mov dword [esi + 0xc990], eax
xor eax, eax
mov al, byte [ebx - 0x102]
mov dl, byte [ebx - 0x204]
shl eax, 0x10
or eax, edx
xor edx, edx
mov dword [esi + 0xc994], eax
xor eax, eax
mov al, byte [ebx + 0x102]
mov dl, byte [ebx]
shl eax, 0x10
inc ebx
or eax, edx
mov dword [esi + 0xc998], eax
add esi, 0x10
cmp ecx, dword [ebp - 0x194]
jl 0x4c51ed
jmp 0x4c41ae
push esi
mov eax, dword [ebp - 0x184]
fild dword [esp]
fmul dword [0x4fb538]
sub esp, 4
fild dword [ebp - 0x2bc]
fdivp st(1)
fstp qword [esp]
push esi
push eax
mov eax, dword [ebp - 0x180]
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push edi
push str.______initial_group__d____d_..__d___has__d_syms___4.1f____n
push eax
call sub.msvcrt.dll_fprintf
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [edx + 0x268]
add esp, 0x20
mov dword [ebp - 0x2b8], edx
mov ecx, dword [ecx + 0x274]
mov dword [ebp - 0x2bc], ecx
jmp 0x4c40c6
add eax, 7
jmp 0x4c4377
cmp dword [ebp - 0x1a0], 7
jg 0x4c60c4
cmp dword [ebp - 0x190], 0x4652
jg 0x4c605e
xor edi, edi
jmp 0x4c52e0
mov eax, edi
mov byte [ebp + edi - 0x158], al
inc edi
cmp edi, dword [ebp - 0x1a0]
jl 0x4c52d6
xor edi, edi
cmp edi, dword [ebp - 0x190]
jge 0x4c5334
mov edx, dword [ebp + 8]
xor ebx, ebx
mov cl, byte [edi + edx + 0x680]
mov dl, byte [ebp - 0x158]
jmp 0x4c5317
inc ebx
mov al, dl
mov dl, byte [ebp + ebx - 0x158]
mov byte [ebp + ebx - 0x158], al
cmp cl, dl
jne 0x4c5306
mov ecx, dword [ebp + 8]
mov byte [ebp - 0x158], dl
mov byte [edi + ecx + 0x4cd2], bl
inc edi
cmp edi, dword [ebp - 0x190]
jl 0x4c52f2
xor ebx, ebx
cmp ebx, dword [ebp - 0x1a0]
jge 0x4c542d
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 8]
add esi, 0x9930
add eax, 0x9324
mov edx, dword [ebp + 8]
mov dword [ebp - 0x2d0], esi
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2e4], edx
xor edi, edi
xor esi, esi
mov dword [ebp - 0x198], 0x20
cmp edi, dword [ebp - 0x194]
jge 0x4c53c3
mov edx, dword [ebp - 0x2e4]
add edx, 0x9324
xor eax, eax
mov al, byte [edx]
cmp eax, esi
jle 0x4c5394
mov esi, eax
cmp eax, dword [ebp - 0x198]
jge 0x4c53a2
mov dword [ebp - 0x198], eax
inc edi
inc edx
cmp edi, dword [ebp - 0x194]
jl 0x4c538a
cmp esi, 0x11
jg 0x4c6073
mov eax, dword [ebp - 0x198]
test eax, eax
jle 0x4c6091
sub esp, 0xc
mov eax, dword [ebp - 0x194]
inc ebx
push eax
mov eax, dword [ebp - 0x198]
push esi
push eax
mov eax, dword [ebp - 0x2d4]
push eax
mov eax, dword [ebp - 0x2d0]
push eax
call fcn.004c8f80
mov eax, dword [ebp - 0x2e4]
mov edi, dword [ebp - 0x2d4]
mov esi, dword [ebp - 0x2d0]
add eax, 0x102
add edi, 0x102
add esi, 0x408
add esp, 0x20
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x2d4], edi
mov dword [ebp - 0x2d0], esi
cmp ebx, dword [ebp - 0x1a0]
jl 0x4c5368
xor edi, edi
mov edx, dword [ebp + 8]
mov byte [ebp + edi - 0x168], 0
lea eax, [edx + 0x58]
mov ebx, 0xf
cmp byte [eax], 0
je 0x4c544f
mov byte [ebp + edi - 0x168], 1
inc eax
dec ebx
jns 0x4c5442
inc edi
add edx, 0x10
cmp edi, 0xf
jle 0x4c5432
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 8]
xor edi, edi
mov ecx, dword [ecx + 0x4c]
mov eax, dword [ebx + 0x258]
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 0x1a4], ecx
mov dword [ebp - 0x2ec], eax
mov esi, dword [ebx + 0x25c]
cmp byte [ebp + edi - 0x168], 0
je 0x4c5560
mov edx, 1
cmp esi, 7
jg 0x4c54ba
jmp 0x4c550b
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2ac], eax
mov dword [ebx + 0x258], ecx
mov dword [ebx + 0x25c], esi
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x2ec]
shr ecx, 0x18
mov ebx, dword [ebp - 0x2ac]
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x2ec], ecx
mov cl, byte [ebp - 0x2ec]
mov byte [eax + ebx], cl
mov eax, dword [esi + 0x4c]
mov ebx, dword [ebp + 8]
inc eax
mov ecx, dword [esi + 0x258]
shl ecx, 8
mov dword [esi + 0x4c], eax
mov esi, dword [ebx + 0x25c]
mov dword [ebp - 0x2ec], ecx
sub esi, 8
cmp esi, 7
jg 0x4c549f
mov dword [ebp - 0x2ac], eax
mov eax, esi
mov ebx, dword [ebp - 0x2ec]
neg eax
add eax, 0x1f
inc esi
mov cl, al
inc edi
shl edx, cl
or ebx, edx
mov edx, esi
mov dword [ebp - 0x2ec], ebx
cmp edi, 0xf
mov ebx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2c0], ebx
jg 0x4c55ec
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x2c0]
mov dword [ecx + 0x25c], edx
mov dword [ecx + 0x258], ebx
cmp byte [ebp + edi - 0x168], 0
jne 0x4c5493
cmp esi, 7
jg 0x4c5582
jmp 0x4c55d3
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2ac], eax
mov dword [ecx + 0x258], edx
mov dword [ecx + 0x25c], esi
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0x2ec]
shr ecx, 0x18
mov dword [ebp - 0x2ec], ecx
mov eax, dword [ebx + 0x2c]
mov ecx, dword [ebp - 0x2ac]
mov dl, byte [ebp - 0x2ec]
mov byte [eax + ecx], dl
mov eax, dword [ebx + 0x4c]
mov edx, dword [ebp + 8]
inc eax
mov dword [ebx + 0x4c], eax
mov esi, dword [edx + 0x25c]
mov ebx, dword [ebx + 0x258]
sub esi, 8
shl ebx, 8
cmp esi, 7
mov dword [ebp - 0x2ec], ebx
jg 0x4c5567
mov dword [ebp - 0x2ac], eax
inc esi
mov ecx, dword [ebp - 0x2ec]
inc edi
mov dword [ebp - 0x2c0], ecx
mov edx, esi
cmp edi, 0xf
jle 0x4c553d
mov ebx, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x2e0], ebx
cmp byte [ebp + edi - 0x168], 0
je 0x4c5704
mov eax, dword [ebp - 0x2e0]
mov ebx, 0xf
add eax, 0x58
mov dword [ebp - 0x2cc], eax
mov ecx, dword [ebp - 0x2cc]
cmp byte [ecx], 0
je 0x4c6144
mov dword [ebp - 0x1ac], 1
cmp esi, 7
jle 0x4c56be
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x2c0]
mov dword [esi + 0x258], eax
mov dword [esi + 0x25c], edx
jmp 0x4c566d
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2ac], eax
mov dword [ecx + 0x258], edx
mov dword [ecx + 0x25c], esi
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x2ec]
shr edx, 0x18
mov ecx, dword [ebp - 0x2ac]
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x2ec], edx
mov dl, byte [ebp - 0x2ec]
mov byte [eax + ecx], dl
mov eax, dword [esi + 0x4c]
mov ecx, dword [ebp + 8]
inc eax
mov edx, dword [esi + 0x258]
shl edx, 8
mov dword [esi + 0x4c], eax
mov esi, dword [ecx + 0x25c]
mov dword [ebp - 0x2ec], edx
sub esi, 8
cmp esi, 7
jg 0x4c5652
mov dword [ebp - 0x2ac], eax
mov eax, esi
neg eax
add eax, 0x1f
mov cl, al
shl dword [ebp - 0x1ac], cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x1ac]
or ecx, eax
mov dword [ebp - 0x2ec], ecx
mov edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2c0], edx
mov eax, dword [ebp - 0x2cc]
inc esi
inc eax
dec ebx
mov edx, esi
mov dword [ebp - 0x2cc], eax
jns 0x4c5619
mov eax, dword [ebp - 0x2e0]
inc edi
add eax, 0x10
cmp edi, 0xf
mov dword [ebp - 0x2e0], eax
jle 0x4c55f7
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x2c0]
mov dword [ecx + 0x258], ebx
mov dword [ecx + 0x25c], edx
cmp dword [ecx + 0x268], 2
jg 0x4c8b7f
mov ebx, dword [ebp - 0x2ac]
cmp esi, 7
mov dword [ebp - 0x1a4], ebx
jg 0x4c576d
jmp 0x4c57be
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2ac], eax
mov dword [ecx + 0x258], edx
mov dword [ecx + 0x25c], esi
mov ebx, dword [ebp + 8]
mov edx, dword [ebp - 0x2ec]
shr edx, 0x18
mov ecx, dword [ebp - 0x2ac]
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0x2ec], edx
mov dl, byte [ebp - 0x2ec]
mov byte [eax + ecx], dl
mov eax, dword [ebx + 0x4c]
mov edx, dword [ebp + 8]
inc eax
mov dword [ebx + 0x4c], eax
mov esi, dword [edx + 0x25c]
mov ebx, dword [ebx + 0x258]
sub esi, 8
shl ebx, 8
cmp esi, 7
mov dword [ebp - 0x2ec], ebx
jg 0x4c5752
mov dword [ebp - 0x2ac], eax
mov eax, esi
mov ebx, dword [ebp - 0x1a0]
neg eax
add eax, 0x1d
mov edi, dword [ebp - 0x2ec]
mov cl, al
mov eax, dword [ebp + 8]
shl ebx, cl
or edi, ebx
add esi, 3
mov dword [ebp - 0x2ec], edi
mov dword [eax + 0x25c], esi
cmp esi, 7
jle 0x4c586c
mov edx, dword [ebp - 0x2ec]
mov dword [eax + 0x258], edx
jmp 0x4c581b
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2ac], eax
mov dword [ebx + 0x258], ecx
mov dword [ebx + 0x25c], esi
mov esi, dword [ebp + 8]
mov ebx, dword [ebp - 0x2ec]
shr ebx, 0x18
mov ecx, dword [ebp - 0x2ac]
mov dword [ebp - 0x2ec], ebx
mov eax, dword [esi + 0x2c]
mov dl, byte [ebp - 0x2ec]
mov byte [eax + ecx], dl
mov eax, dword [esi + 0x4c]
mov edx, dword [ebp + 8]
inc eax
mov ebx, dword [esi + 0x258]
shl ebx, 8
mov dword [esi + 0x4c], eax
mov esi, dword [edx + 0x25c]
mov dword [ebp - 0x2ec], ebx
sub esi, 8
cmp esi, 7
jg 0x4c5800
mov dword [ebp - 0x2ac], eax
mov eax, esi
mov ebx, dword [ebp - 0x190]
neg eax
add eax, 0x11
add esi, 0xf
mov cl, al
xor edi, edi
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov edx, esi
or ecx, ebx
cmp edi, dword [ebp - 0x190]
mov dword [ebp - 0x2ec], ecx
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2c0], eax
jge 0x4c5a43
mov ecx, dword [ebp + 8]
xor ebx, ebx
mov cl, byte [edi + ecx + 0x4cd2]
mov byte [ebp - 0x2b1], cl
test cl, cl
je 0x4c599b
cmp esi, 7
jle 0x4c595d
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x2c0]
mov dword [esi + 0x258], eax
mov dword [esi + 0x25c], edx
jmp 0x4c58ff
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2ac], eax
mov dword [ecx + 0x258], edx
mov dword [ecx + 0x25c], esi
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x2ec]
shr edx, 0x18
mov ecx, dword [ebp - 0x2ac]
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x2ec], edx
mov dl, byte [ebp - 0x2ec]
mov byte [eax + ecx], dl
mov eax, dword [esi + 0x4c]
mov ecx, dword [ebp + 8]
inc eax
mov edx, dword [esi + 0x258]
shl edx, 8
mov dword [esi + 0x4c], eax
mov esi, dword [ecx + 0x25c]
mov dword [ebp - 0x2ec], edx
sub esi, 8
cmp esi, 7
jg 0x4c58e4
mov dword [ebp - 0x2ac], eax
mov al, byte [edi + ecx + 0x4cd2]
mov byte [ebp - 0x2b1], al
mov eax, esi
mov edx, 1
neg eax
add eax, 0x1f
inc esi
mov cl, al
xor eax, eax
shl edx, cl
mov ecx, dword [ebp - 0x2ec]
inc ebx
or ecx, edx
mov al, byte [ebp - 0x2b1]
mov dword [ebp - 0x2ec], ecx
mov edx, esi
mov ecx, dword [ebp - 0x2ec]
cmp eax, ebx
mov dword [ebp - 0x2c0], ecx
jg 0x4c58c4
cmp esi, 7
jle 0x4c5a27
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x2c0]
mov dword [ebx + 0x258], esi
mov dword [ebx + 0x25c], edx
jmp 0x4c59d6
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2ac], eax
mov dword [ecx + 0x258], edx
mov dword [ecx + 0x25c], esi
mov ebx, dword [ebp + 8]
mov edx, dword [ebp - 0x2ec]
shr edx, 0x18
mov ecx, dword [ebp - 0x2ac]
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0x2ec], edx
mov dl, byte [ebp - 0x2ec]
mov byte [eax + ecx], dl
mov eax, dword [ebx + 0x4c]
mov edx, dword [ebp + 8]
inc eax
mov dword [ebx + 0x4c], eax
mov esi, dword [edx + 0x25c]
mov ebx, dword [ebx + 0x258]
sub esi, 8
shl ebx, 8
cmp esi, 7
mov dword [ebp - 0x2ec], ebx
jg 0x4c59bb
mov dword [ebp - 0x2ac], eax
mov ecx, dword [ebp - 0x2ec]
inc esi
mov dword [ebp - 0x2c0], ecx
mov edx, esi
inc edi
cmp edi, dword [ebp - 0x190]
jl 0x4c58aa
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x2c0]
mov dword [ebx + 0x258], esi
mov dword [ebx + 0x25c], edx
cmp dword [ebx + 0x268], 2
jg 0x4c8b3f
mov ecx, dword [ebp - 0x2ac]
xor ebx, ebx
mov dword [ebp - 0x1a4], ecx
cmp ebx, dword [ebp - 0x1a0]
jge 0x4c5ea0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 0x2dc], eax
mov edx, dword [eax + 0x258]
mov esi, dword [eax + 0x25c]
mov dword [ebp - 0x2ec], edx
mov eax, dword [ebp - 0x2c8]
xor ecx, ecx
cmp esi, 7
mov cl, byte [eax + 0x9324]
mov dword [ebp - 0x1b0], ecx
jg 0x4c5ad6
jmp 0x4c5b27
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2ac], eax
mov dword [ecx + 0x258], edx
mov dword [ecx + 0x25c], esi
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x2ec]
shr edx, 0x18
mov ecx, dword [ebp - 0x2ac]
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x2ec], edx
mov dl, byte [ebp - 0x2ec]
mov byte [eax + ecx], dl
mov eax, dword [esi + 0x4c]
mov ecx, dword [ebp + 8]
inc eax
mov edx, dword [esi + 0x258]
shl edx, 8
mov dword [esi + 0x4c], eax
mov esi, dword [ecx + 0x25c]
mov dword [ebp - 0x2ec], edx
sub esi, 8
cmp esi, 7
jg 0x4c5abb
mov dword [ebp - 0x2ac], eax
mov eax, esi
mov edx, dword [ebp - 0x1b0]
neg eax
add eax, 0x1b
mov edi, dword [ebp - 0x2ec]
mov cl, al
add esi, 5
shl edx, cl
or edi, edx
mov edx, esi
mov dword [ebp - 0x2ec], edi
xor edi, edi
mov ecx, dword [ebp - 0x2ec]
cmp edi, dword [ebp - 0x194]
mov dword [ebp - 0x2c0], ecx
jge 0x4c5e5c
mov eax, dword [ebp - 0x2dc]
add eax, 0x9324
mov dword [ebp - 0x2c4], eax
mov ecx, dword [ebp - 0x2c4]
xor eax, eax
mov al, byte [ecx]
cmp eax, dword [ebp - 0x1b0]
jle 0x4c5c8f
mov eax, dword [ebp - 0x2c8]
lea eax, [eax + edi + 0x9320]
mov dword [ebp - 0x1b4], eax
cmp esi, 7
jle 0x4c5c2c
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2c0]
mov dword [ecx + 0x258], esi
mov dword [ecx + 0x25c], edx
jmp 0x4c5bdb
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2ac], eax
mov dword [ecx + 0x258], edx
mov dword [ecx + 0x25c], esi
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x2ec]
shr ecx, 0x18
mov dword [ebp - 0x2ec], ecx
mov eax, dword [esi + 0x2c]
mov ecx, dword [ebp - 0x2ac]
mov dl, byte [ebp - 0x2ec]
mov byte [eax + ecx], dl
mov eax, dword [esi + 0x4c]
mov ecx, dword [ebp + 8]
inc eax
mov edx, dword [esi + 0x258]
shl edx, 8
mov dword [esi + 0x4c], eax
mov esi, dword [ecx + 0x25c]
mov dword [ebp - 0x2ec], edx
sub esi, 8
cmp esi, 7
jg 0x4c5bc0
mov dword [ebp - 0x2ac], eax
mov eax, esi
mov edx, dword [ebp - 0x2ec]
neg eax
mov dword [ebp - 0x1b8], eax
add eax, 0x1e
mov dword [ebp - 0x1bc], eax
mov eax, 2
mov cl, byte [ebp - 0x1bc]
add esi, 2
shl eax, cl
or edx, eax
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x2ec], edx
inc eax
mov edx, dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x2c0], edx
xor eax, eax
mov edx, esi
mov al, byte [ecx + 4]
cmp eax, dword [ebp - 0x1b0]
jg 0x4c5b9f
mov ecx, dword [ebp - 0x2c4]
xor eax, eax
mov al, byte [ecx]
cmp eax, dword [ebp - 0x1b0]
jge 0x4c5da7
mov eax, dword [ebp - 0x2c8]
lea eax, [eax + edi + 0x9320]
mov dword [ebp - 0x1c4], eax
cmp esi, 7
jle 0x4c5d44
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2c0]
mov dword [ecx + 0x258], esi
mov dword [ecx + 0x25c], edx
jmp 0x4c5cf3
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2ac], eax
mov dword [ecx + 0x258], edx
mov dword [ecx + 0x25c], esi
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x2ec]
shr ecx, 0x18
mov dword [ebp - 0x2ec], ecx
mov eax, dword [esi + 0x2c]
mov ecx, dword [ebp - 0x2ac]
mov dl, byte [ebp - 0x2ec]
mov byte [eax + ecx], dl
mov eax, dword [esi + 0x4c]
mov ecx, dword [ebp + 8]
inc eax
mov edx, dword [esi + 0x258]
shl edx, 8
mov dword [esi + 0x4c], eax
mov esi, dword [ecx + 0x25c]
mov dword [ebp - 0x2ec], edx
sub esi, 8
cmp esi, 7
jg 0x4c5cd8
mov dword [ebp - 0x2ac], eax
mov eax, esi
mov edx, dword [ebp - 0x2ec]
neg eax
mov dword [ebp - 0x1c8], eax
add eax, 0x1e
mov dword [ebp - 0x1cc], eax
mov eax, 3
mov cl, byte [ebp - 0x1cc]
add esi, 2
shl eax, cl
or edx, eax
mov ecx, dword [ebp - 0x1b0]
dec ecx
mov dword [ebp - 0x2ec], edx
mov dword [ebp - 0x1b0], ecx
mov edx, dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0x2c0], edx
xor eax, eax
mov edx, esi
mov al, byte [ecx + 4]
cmp eax, dword [ebp - 0x1b0]
jl 0x4c5cb8
cmp esi, 7
jle 0x4c5e33
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x2c0]
mov dword [esi + 0x258], eax
mov dword [esi + 0x25c], edx
jmp 0x4c5de2
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2ac], eax
mov dword [ecx + 0x258], edx
mov dword [ecx + 0x25c], esi
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x2ec]
shr edx, 0x18
mov ecx, dword [ebp - 0x2ac]
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x2ec], edx
mov dl, byte [ebp - 0x2ec]
mov byte [eax + ecx], dl
mov eax, dword [esi + 0x4c]
mov ecx, dword [ebp + 8]
inc eax
mov edx, dword [esi + 0x258]
shl edx, 8
mov dword [esi + 0x4c], eax
mov esi, dword [ecx + 0x25c]
mov dword [ebp - 0x2ec], edx
sub esi, 8
cmp esi, 7
jg 0x4c5dc7
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2ec]
inc esi
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x2c4]
inc eax
inc edi
mov edx, esi
mov dword [ebp - 0x2c4], eax
cmp edi, dword [ebp - 0x194]
jl 0x4c5b76
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2c0]
inc ebx
mov dword [ecx + 0x258], eax
mov eax, dword [ebp - 0x2dc]
add eax, 0x102
mov dword [ecx + 0x25c], edx
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x2c8]
add eax, 0x102
cmp ebx, dword [ebp - 0x1a0]
mov dword [ebp - 0x2c8], eax
jl 0x4c5aa0
mov edx, dword [ebp + 8]
cmp dword [edx + 0x268], 2
jg 0x4c8afc
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x180], 0
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x274]
cmp eax, dword [ebp - 0x180]
jle 0x4c3ac2
mov edx, dword [ebp - 0x180]
add edx, 0x31
mov dword [ebp - 0x184], edx
cmp eax, edx
jg 0x4c5ef3
dec eax
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp - 0x19c]
mov ebx, dword [ebp + 8]
xor eax, eax
mov al, byte [ecx + ebx + 0x680]
cmp eax, dword [ebp - 0x1a0]
jge 0x4c61e1
cmp dword [ebp - 0x1a0], 6
je 0x4c61fe
mov edi, dword [ebp - 0x180]
cmp edi, dword [ebp - 0x184]
jg 0x4c603f
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x258]
mov esi, dword [edx + 0x25c]
mov dword [ebp - 0x2ec], ecx
mov ebx, dword [ebp - 0x2a0]
mov ecx, dword [ebp + 8]
xor edx, edx
mov ax, word [ebx + edi*2]
mov ebx, eax
mov eax, dword [ebp - 0x19c]
and ebx, 0xffff
mov dl, byte [eax + ecx + 0x680]
mov eax, edx
shl eax, 7
add eax, edx
add eax, eax
lea edx, [eax + ecx]
xor ecx, ecx
add eax, ebx
cmp esi, 7
mov cl, byte [edx + ebx + 0x9324]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x29c], ecx
mov ebx, dword [edx + eax*4 + 0x9930]
jg 0x4c5fac
jmp 0x4c5ff4
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c5f97
mov eax, esi
mov edx, dword [ebp - 0x29c]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x29c]
add eax, 0x20
add esi, edx
mov cl, al
mov eax, dword [ebp + 8]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
inc edi
or ecx, ebx
mov dword [eax + 0x25c], esi
mov dword [ebp - 0x2ec], ecx
cmp edi, dword [ebp - 0x184]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x258], ebx
jle 0x4c5f45
mov ebx, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x184]
inc edx
inc ebx
mov dword [ebp - 0x180], edx
mov dword [ebp - 0x19c], ebx
jmp 0x4c5ec4
sub esp, 0xc
push 0xbbb
call fcn.004be4f0
add esp, 0x10
jmp 0x4c52d2
sub esp, 0xc
push 0xbbc
call fcn.004be4f0
mov eax, dword [ebp - 0x198]
add esp, 0x10
test eax, eax
jg 0x4c53c3
sub esp, 0xc
push 0xbbd
call fcn.004be4f0
add esp, 0x10
jmp 0x4c53c3
mov ebx, dword [ebp - 0x184]
mov eax, dword [ebp + 8]
mov edx, dword [eax + ebx*4 + 0x278]
dec ebx
sub esi, edx
mov dword [ebp - 0x184], ebx
jmp 0x4c40b9
sub esp, 0xc
push 0xbba
call fcn.004be4f0
add esp, 0x10
jmp 0x4c52c2
sub esp, 0xc
mov eax, dword [ecx + 0x54]
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
push esi
add eax, 0x40
mov edi, dword [ecx + 0x44]
push edi
push str._______d_in_block___d_after_MTF__1_2_coding___d2_syms_in_use_n
push eax
call sub.msvcrt.dll_fprintf
mov ebx, dword [ebp + 8]
add esp, 0x20
mov ebx, dword [ebx + 0x54]
mov dword [ebp - 0x2b0], ebx
jmp 0x4c3f14
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x268]
mov dword [ebp - 0x2b8], esi
jmp 0x4c4140
sub esp, 0xc
push 0xbb9
call fcn.004be4f0
mov edx, dword [ebp + 8]
add esp, 0x10
mov edx, dword [edx + 0x274]
mov dword [ebp - 0x2bc], edx
jmp 0x4c3f68
cmp esi, 7
jle 0x4c61d0
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2c0]
mov dword [ecx + 0x258], esi
mov dword [ecx + 0x25c], edx
jmp 0x4c617f
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2ac], eax
mov dword [ecx + 0x258], edx
mov dword [ecx + 0x25c], esi
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x2ec]
shr edx, 0x18
mov ecx, dword [ebp - 0x2ac]
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x2ec], edx
mov dl, byte [ebp - 0x2ec]
mov byte [eax + ecx], dl
mov eax, dword [esi + 0x4c]
mov ecx, dword [ebp + 8]
inc eax
mov edx, dword [esi + 0x258]
shl edx, 8
mov dword [esi + 0x4c], eax
mov esi, dword [ecx + 0x25c]
mov dword [ebp - 0x2ec], edx
sub esi, 8
cmp esi, 7
jg 0x4c6164
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2c0], eax
jmp 0x4c56ed
sub esp, 0xc
push 0xbbe
call fcn.004be4f0
add esp, 0x10
cmp dword [ebp - 0x1a0], 6
jne 0x4c5f1e
mov eax, dword [ebp - 0x184]
mov edi, dword [ebp - 0x180]
sub eax, edi
cmp eax, 0x31
jne 0x4c5f1e
mov esi, dword [ebp - 0x19c]
mov edx, dword [ebp + 8]
xor eax, eax
mov ecx, dword [ebp + 8]
mov al, byte [esi + edx + 0x680]
mov ebx, dword [ebp - 0x180]
mov edx, eax
mov esi, dword [ebp - 0x2a0]
shl edx, 7
add edx, eax
mov ax, word [esi + ebx*2]
and eax, 0xffff
lea edi, [ecx + edx*2 + 0x9324]
lea edx, [ecx + edx*8 + 0x9930]
mov dword [ebp - 0x1d4], edx
xor edx, edx
mov ecx, dword [ebp - 0x1d4]
mov dl, byte [eax + edi]
mov dword [ebp - 0x1d8], edx
mov ebx, dword [ecx + eax*4]
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x25c]
cmp esi, 7
jle 0x4c8ae8
mov edx, dword [eax + 0x258]
mov dword [ebp - 0x2ec], edx
jmp 0x4c62a3
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c628e
mov eax, esi
mov edx, dword [ebp - 0x1d8]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x1d8]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 2]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x1dc], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c6375
jmp 0x4c63bd
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c6360
mov eax, esi
mov edx, dword [ebp - 0x1dc]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x1dc]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 4]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x1e0], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c6445
jmp 0x4c648d
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c6430
mov eax, esi
mov edx, dword [ebp - 0x1e0]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x1e0]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 6]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x1e4], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c6515
jmp 0x4c655d
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c6500
mov eax, esi
mov edx, dword [ebp - 0x1e4]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x1e4]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 8]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x1e8], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c65e5
jmp 0x4c662d
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c65d0
mov eax, esi
mov edx, dword [ebp - 0x1e8]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x1e8]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 0xa]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x1ec], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c66b5
jmp 0x4c66fd
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c66a0
mov eax, esi
mov edx, dword [ebp - 0x1ec]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x1ec]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 0xc]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x1f0], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c6785
jmp 0x4c67cd
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c6770
mov eax, esi
mov edx, dword [ebp - 0x1f0]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x1f0]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 0xe]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x1f4], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c6855
jmp 0x4c689d
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c6840
mov eax, esi
mov edx, dword [ebp - 0x1f4]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x1f4]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 0x10]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x1f8], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c6925
jmp 0x4c696d
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c6910
mov eax, esi
mov edx, dword [ebp - 0x1f8]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x1f8]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 0x12]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x1fc], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c69f5
jmp 0x4c6a3d
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c69e0
mov eax, esi
mov edx, dword [ebp - 0x1fc]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x1fc]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 0x14]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x200], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c6ac5
jmp 0x4c6b0d
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c6ab0
mov eax, esi
mov edx, dword [ebp - 0x200]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x200]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 0x16]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x204], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c6b95
jmp 0x4c6bdd
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c6b80
mov eax, esi
mov edx, dword [ebp - 0x204]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x204]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 0x18]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x208], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c6c65
jmp 0x4c6cad
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c6c50
mov eax, esi
mov edx, dword [ebp - 0x208]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x208]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 0x1a]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x20c], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c6d35
jmp 0x4c6d7d
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c6d20
mov eax, esi
mov edx, dword [ebp - 0x20c]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x20c]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 0x1c]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x210], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c6e05
jmp 0x4c6e4d
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c6df0
mov eax, esi
mov edx, dword [ebp - 0x210]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x210]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 0x1e]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x214], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c6ed5
jmp 0x4c6f1d
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c6ec0
mov eax, esi
mov edx, dword [ebp - 0x214]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x214]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 0x20]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x218], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c6fa5
jmp 0x4c6fed
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c6f90
mov eax, esi
mov edx, dword [ebp - 0x218]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x218]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 0x22]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x21c], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c7075
jmp 0x4c70bd
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x2ec]
mov dword [ecx + 0x25c], esi
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c7060
mov eax, esi
mov edx, dword [ebp - 0x21c]
neg eax
sub eax, edx
mov edx, dword [ebp - 0x21c]
add eax, 0x20
add esi, edx
mov cl, al
mov edx, dword [ebp - 0x180]
shl ebx, cl
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
or ecx, ebx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x2ec]
mov dword [eax + 0x25c], esi
mov dword [eax + 0x258], ebx
mov ax, word [ecx + edx*2 + 0x24]
and eax, 0xffff
xor ebx, ebx
mov edx, dword [ebp - 0x1d4]
cmp esi, 7
mov bl, byte [eax + edi]
mov dword [ebp - 0x220], ebx
mov ebx, dword [edx + eax*4]
jg 0x4c7145
jmp 0x4c718d
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x2ec]
shr esi, 0x18
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x2ec], esi
mov edx, dword [ecx + 0x2c]
mov cl, byte [ebp - 0x2ec]
mov byte [edx + eax], cl
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x258]
shl eax, 8
inc ecx
mov dword [esi + 0x4c], ecx
mov esi, dword [esi + 0x25c]
sub esi, 8
mov dword [ebp - 0x2ec], eax
cmp esi, 7
jg 0x4c7130
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x258]
mov dword [ebp - 0x2ec], ecx
jmp 0x4c62eb
mov ecx, dword [ebp - 0x1a4]
push eax
mov eax, dword [ebp - 0x2ac]
sub eax, ecx
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2ac]
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push str.code_lengths__d_
push eax
call sub.msvcrt.dll_fprintf
mov ebx, dword [ebp + 8]
add esp, 0x10
mov ebx, dword [ebx + 0x4c]
mov dword [ebp - 0x2ac], ebx
jmp 0x4c5eb0
mov eax, dword [ebp - 0x1a4]
mov esi, dword [ebp - 0x2ac]
sub esi, eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [ebp - 0x2ac], esi
add eax, 0x40
mov ecx, dword [ebp - 0x2ac]
push edi
push ecx
push str.selectors__d_
push eax
call sub.msvcrt.dll_fprintf
mov edx, dword [ebx + 0x4c]
add esp, 0x10
mov dword [ebp - 0x2ac], edx
jmp 0x4c5a65
mov ebx, dword [ebp - 0x2ac]
push esi
mov esi, dword [ebp - 0x1a4]
sub ebx, esi
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [ebp - 0x2ac], ebx
add eax, 0x40
mov ecx, dword [ebp - 0x2ac]
push ecx
push str.______bytes:_mapping__d_
push eax
call sub.msvcrt.dll_fprintf
mov eax, dword [ebp + 8]
add esp, 0x10
mov edx, dword [eax + 0x4c]
mov ecx, dword [eax + 0x258]
mov esi, dword [eax + 0x25c]
mov dword [ebp - 0x2ac], edx
mov dword [ebp - 0x2ec], ecx
jmp 0x4c573f