Function at 0x455c69
Capabilities:
Access peb ldr_data
Authenticate hmac
Encode data using xor
Get number of processors
Get process heap flags
Hash data using fnv
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push 0x38c
mov eax, 0x49c723
call fcn.0046c859
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x220], 3
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], eax
mov byte [ebp - 4], 0x13
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x210], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x1fc], ecx
cmp ecx, esi
je 0x459153
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x459153
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov dword [ebp - 0x200], 0xeddcccee
mov dword [ebp - 0x208], ecx
dec edi
mov edx, dword [ecx]
add edx, esi
mov cl, byte [edx]
inc edx
mov byte [ebp - 0x1f1], cl
test cl, cl
mov ecx, dword [ebp - 0x208]
je 0x45914b
mov cl, byte [ebp - 0x1f1]
movsx ecx, cl
xor ecx, dword [ebp - 0x200]
imul ecx, ecx, 0x1000193
mov dword [ebp - 0x200], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x455d7c
cmp dword [ebp - 0x200], 0x30560a0
jne 0x459145
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edi*2]
mov edi, dword [ecx + eax*4]
lea ecx, [ebp - 0x34]
add edi, esi
mov byte [ebp - 0x34], 0xba
mov byte [ebp - 0x33], 0xa3
mov byte [ebp - 0x32], 0xb4
mov byte [ebp - 0x31], 0xa0
mov byte [ebp - 0x30], 0xe0
mov byte [ebp - 0x2f], 0xe6
mov byte [ebp - 0x2e], 0xfb
mov byte [ebp - 0x2d], 0xb2
mov byte [ebp - 0x2c], 0xbb
mov byte [ebp - 0x2b], 0xb4
mov byte [ebp - 0x2a], 0
mov byte [ebp - 0x29], 1
call fcn.004129ef
lea eax, [ebp - 0x34]
push eax
call edi
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x210], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x1fc], ecx
cmp ecx, esi
je 0x459022
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x459022
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov dword [ebp - 0x200], 0x51fc2dbe
mov dword [ebp - 0x208], ecx
dec edi
mov edx, dword [ecx]
add edx, esi
mov cl, byte [edx]
inc edx
mov byte [ebp - 0x1f1], cl
test cl, cl
mov ecx, dword [ebp - 0x208]
je 0x45901a
mov cl, byte [ebp - 0x1f1]
movsx ecx, cl
xor ecx, dword [ebp - 0x200]
imul ecx, ecx, 0x1000193
mov dword [ebp - 0x200], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x455e78
cmp dword [ebp - 0x200], 0xfb09bbd0
jne 0x459014
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edi*2]
mov edi, dword [ecx + eax*4]
lea ecx, [ebp - 0x60]
add edi, esi
mov byte [ebp - 0x60], 0xa4
mov byte [ebp - 0x5f], 0xb5
mov byte [ebp - 0x5e], 0xa3
mov byte [ebp - 0x5d], 0xbc
mov byte [ebp - 0x5c], 0xb6
mov byte [ebp - 0x5b], 0xb8
mov byte [ebp - 0x5a], 0xe6
mov byte [ebp - 0x59], 0xe4
mov byte [ebp - 0x58], 0xf9
mov byte [ebp - 0x57], 0xbc
mov byte [ebp - 0x56], 0xb5
mov byte [ebp - 0x55], 0xb6
mov byte [ebp - 0x54], 0
mov byte [ebp - 0x53], 1
call fcn.00412954
lea eax, [ebp - 0x60]
push eax
call edi
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x210], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x1fc], ecx
cmp ecx, esi
je 0x45900d
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45900d
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov dword [ebp - 0x200], 0x44d49006
mov dword [ebp - 0x208], ecx
dec edi
mov edx, dword [ecx]
add edx, esi
mov cl, byte [edx]
inc edx
mov byte [ebp - 0x1f1], cl
test cl, cl
mov ecx, dword [ebp - 0x208]
je 0x459005
mov cl, byte [ebp - 0x1f1]
movsx ecx, cl
xor ecx, dword [ebp - 0x200]
imul ecx, ecx, 0x1000193
mov dword [ebp - 0x200], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x455f7c
cmp dword [ebp - 0x200], 0x768106e8
jne 0x458fff
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edi*2]
mov edi, dword [ecx + eax*4]
lea ecx, [ebp - 0x28]
add edi, esi
mov byte [ebp - 0x28], 0xb8
mov byte [ebp - 0x27], 0xb9
mov byte [ebp - 0x26], 0xbf
mov byte [ebp - 0x25], 0xe1
mov byte [ebp - 0x24], 0xe1
mov byte [ebp - 0x23], 0xa1
mov byte [ebp - 0x22], 0xfb
mov byte [ebp - 0x21], 0xb2
mov byte [ebp - 0x20], 0xbb
mov byte [ebp - 0x1f], 0xb4
mov byte [ebp - 0x1e], 0
mov byte [ebp - 0x1d], 1
call fcn.004129ef
lea eax, [ebp - 0x28]
push eax
call edi
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x210], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x1fc], ecx
cmp ecx, esi
je 0x458ff8
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x458ff8
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov dword [ebp - 0x200], 0x5a6e78d7
mov dword [ebp - 0x208], ecx
dec edi
mov edx, dword [ecx]
add edx, esi
mov cl, byte [edx]
inc edx
mov byte [ebp - 0x1f1], cl
test cl, cl
mov ecx, dword [ebp - 0x208]
je 0x458ff0
mov cl, byte [ebp - 0x1f1]
movsx ecx, cl
xor ecx, dword [ebp - 0x200]
imul ecx, ecx, 0x1000193
mov dword [ebp - 0x200], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x456078
cmp dword [ebp - 0x200], 0x21c3889
jne 0x458fea
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edi*2]
mov edi, dword [ecx + eax*4]
lea ecx, [ebp - 0x40]
add edi, esi
mov byte [ebp - 0x40], 0xb8
mov byte [ebp - 0x3f], 0xa3
mov byte [ebp - 0x3e], 0xe3
mov byte [ebp - 0x3d], 0x8d
mov byte [ebp - 0x3c], 0xe0
mov byte [ebp - 0x3b], 0xe6
mov byte [ebp - 0x3a], 0xfb
mov byte [ebp - 0x39], 0xb2
mov byte [ebp - 0x38], 0xbb
mov byte [ebp - 0x37], 0xb4
mov byte [ebp - 0x36], 0
mov byte [ebp - 0x35], 1
call fcn.004129ef
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x210], ecx
lea ecx, [esi + edx]
mov dword [ebp - 0x1fc], ecx
cmp ecx, esi
je 0x458fe3
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x458fe3
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov dword [ebp - 0x200], 0x9404885f
mov dword [ebp - 0x208], ecx
dec edi
mov edx, dword [ecx]
add edx, esi
mov cl, byte [edx]
inc edx
mov byte [ebp - 0x1f1], cl
test cl, cl
mov ecx, dword [ebp - 0x208]
je 0x458fdb
mov cl, byte [ebp - 0x1f1]
movsx ecx, cl
xor ecx, dword [ebp - 0x200]
imul ecx, ecx, 0x1000193
mov dword [ebp - 0x200], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x456174
cmp dword [ebp - 0x200], 0x92c40801
jne 0x458fd5
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov edi, dword [eax + esi]
lea ecx, [ebp - 0x70]
add edi, esi
mov byte [ebp - 0x70], 0xae
mov byte [ebp - 0x6f], 0xb4
mov byte [ebp - 0x6e], 0xa7
mov byte [ebp - 0x6d], 0xb3
mov byte [ebp - 0x6c], 0xa3
mov byte [ebp - 0x6b], 0xbd
mov byte [ebp - 0x6a], 0xe6
mov byte [ebp - 0x69], 0xe4
mov byte [ebp - 0x68], 0xf9
mov byte [ebp - 0x67], 0xbc
mov byte [ebp - 0x66], 0xb5
mov byte [ebp - 0x65], 0xb6
mov byte [ebp - 0x64], 0
mov byte [ebp - 0x63], 1
call fcn.00412954
lea eax, [ebp - 0x70]
push eax
call edi
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x1fc], ecx
cmp ecx, edx
je 0x458fce
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x458fce
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, edx
sub ecx, 4
mov dword [ebp - 0x200], 0x96295f17
mov dword [ebp - 0x208], ecx
dec edi
mov esi, dword [ecx]
add esi, edx
mov cl, byte [esi]
inc esi
mov byte [ebp - 0x1f1], cl
test cl, cl
mov ecx, dword [ebp - 0x208]
je 0x458fc6
mov cl, byte [ebp - 0x1f1]
movsx ecx, cl
xor ecx, dword [ebp - 0x200]
imul ecx, ecx, 0x1000193
mov dword [ebp - 0x200], ecx
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x45626f
cmp dword [ebp - 0x200], 0x10ffd1c9
jne 0x458fc0
mov esi, dword [ebp - 0x1fc]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov esi, dword [eax + edx]
lea ecx, [ebp - 0x50]
add esi, edx
mov byte [ebp - 0x50], 0xb8
mov byte [ebp - 0x4f], 0xb9
mov byte [ebp - 0x4e], 0xbf
mov byte [ebp - 0x4d], 0xbb
mov byte [ebp - 0x4c], 0xbd
mov byte [ebp - 0x4b], 0xb1
mov byte [ebp - 0x4a], 0xa1
mov byte [ebp - 0x49], 0xf8
mov byte [ebp - 0x48], 0xb3
mov byte [ebp - 0x47], 0xb4
mov byte [ebp - 0x46], 0xb5
mov byte [ebp - 0x45], 0
mov byte [ebp - 0x44], 1
call fcn.004129c5
lea eax, [ebp - 0x50]
push eax
call esi
xor eax, eax
mov byte [ebp - 0x223], al
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0x223]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x32c]
call fcn.00460038
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x15
push ecx
mov ecx, eax
call fcn.00460089
mov ecx, eax
call fcn.00402dee
lea ecx, [ebp - 0x32c]
call fcn.0040cbba
xor eax, eax
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x2f0]
mov byte [ebp - 0x208], al
push dword [ebp - 0x208]
call fcn.004600be
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x17
push ecx
mov ecx, eax
call fcn.00460109
mov ecx, eax
call fcn.00402dee
lea ecx, [ebp - 0x2f0]
call fcn.0040cbba
xor eax, eax
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 0x208], al
push dword [ebp - 0x208]
call fcn.0046013e
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x19
push ecx
mov ecx, eax
call fcn.00460189
mov ecx, eax
call fcn.00402dee
lea ecx, [ebp - 0x2fc]
call fcn.0040cbba
xor eax, eax
mov byte [ebp - 0x221], al
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0x221]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0x308]
call fcn.00460215
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x1b
push ecx
mov ecx, eax
call fcn.00460266
mov ecx, eax
call fcn.00402dee
lea ecx, [ebp - 0x308]
call fcn.0040cbba
xor eax, eax
mov dword [ebp - 0x1d4], 0x9c
mov byte [ebp - 0x222], al
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0x1d4]
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x222]
mov dword [ebp - 0x264], eax
push eax
mov dword [ebp - 0x268], ecx
push ecx
lea ecx, [ebp - 0x314]
call fcn.0046029b
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x1d
lea edx, [ebp - 0x1d4]
mov dword [ebp - 0x26c], ecx
push ecx
push edx
mov ecx, eax
mov dword [ebp - 0x270], edx
call fcn.0046037d
mov ecx, eax
call fcn.00402dee
lea ecx, [ebp - 0x314]
call fcn.0040cbba
mov byte [ebp - 4], 0x13
mov eax, dword fs:[0x30]
mov dword [ebp - 0x138], 0x40
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x1fc], ecx
cmp ecx, edx
je 0x458fb9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x458fb9
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, edx
sub ecx, 4
mov dword [ebp - 0x200], 0x3799b94d
mov dword [ebp - 0x208], ecx
dec edi
mov esi, dword [ecx]
add esi, edx
mov cl, byte [esi]
inc esi
mov byte [ebp - 0x1f1], cl
test cl, cl
mov ecx, dword [ebp - 0x208]
je 0x458fb1
mov cl, byte [ebp - 0x1f1]
movsx ecx, cl
xor ecx, dword [ebp - 0x200]
imul ecx, ecx, 0x1000193
mov dword [ebp - 0x200], ecx
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x456528
cmp dword [ebp - 0x200], 0x8a7dbede
jne 0x458fab
mov esi, dword [ebp - 0x1fc]
mov eax, dword [esi + 0x24]
add eax, edx
movzx ecx, word [eax + edi*2]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [ebp - 0x138]
add eax, edx
push ecx
call eax
mov dl, byte [ebp - 0x219]
lea edi, [ebp - 0x94]
mov byte [ebp - 0x98], 0x6c
xor eax, eax
mov byte [ebp - 0x97], 0x51
mov byte [ebp - 0x96], 0x6a
mov byte [ebp - 0x95], 0x6b
stosd dword es:[edi], eax
mov dword [ebp - 0x1f0], edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov esi, dword [0x4cad28]
mov edi, dword [0x4cad2c]
xor ecx, ecx
mov dword [ebp - 0x1f8], ecx
cmp ecx, 0x17
jae 0x45706b
mov dh, byte [ebp + ecx - 0x98]
movzx eax, dh
mov byte [ebp - 0x201], dh
mov dword [ebp - 0x1fc], eax
mov dl, dh
mov byte [ebp - 0x1f1], dl
cmp esi, ecx
ja 0x457063
lea eax, [edi + 0x1000]
cmp esi, eax
jae 0x45663c
mov eax, dword [ebp - 0x1fc]
add ecx, 0x4361e81e
and eax, ecx
mov dword [ebp - 0x208], ecx
mov ecx, dword [ebp - 0x1fc]
add eax, eax
mov dword [ebp - 0x1f0], ecx
sub dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x1f0]
add eax, dword [ebp - 0x208]
add al, 0x2e
mov dword [ebp - 0x1f0], eax
jmp 0x4568ba
lea eax, [edi + 1]
cmp esi, eax
je 0x456fea
inc eax
cmp esi, eax
je 0x456f6a
lea eax, [edi + 4]
cmp esi, eax
je 0x456f30
lea eax, [edi + 5]
cmp esi, eax
je 0x456eeb
lea eax, [edi + 7]
cmp esi, eax
je 0x456ec9
lea eax, [edi + 8]
cmp esi, eax
je 0x456e89
cmp edi, ecx
ja 0x457055
lea eax, [edi + 0x64]
cmp esi, eax
jae 0x4566a5
add ecx, 0x4d0bed06
mov al, cl
and al, byte [ebp - 0x1fc]
add al, al
sub cl, al
sub cl, 0x2a
jmp 0x456883
lea eax, [edi + 1]
cmp esi, eax
je 0x456e75
inc eax
cmp esi, eax
je 0x456e5a
lea eax, [edi + 3]
cmp esi, eax
je 0x456e3f
lea eax, [edi + 6]
cmp esi, eax
je 0x456e24
lea eax, [edi + esi]
cmp eax, ecx
jbe 0x456b8f
lea eax, [edi + 0x64]
cmp esi, eax
je 0x456b79
lea eax, [edi + 0x1000]
cmp esi, eax
je 0x456b52
lea eax, [edi + 4]
cmp esi, eax
je 0x456b36
lea eax, [edi + 0xa]
cmp esi, eax
je 0x456b1c
lea eax, [edi + 0x3e8]
mov dword [ebp - 0x208], eax
cmp esi, eax
je 0x456afb
lea eax, [edi + 0x41]
cmp esi, eax
je 0x456ada
lea eax, [edi + 8]
cmp esi, eax
je 0x456ac3
lea eax, [edi + 0x28]
cmp esi, eax
je 0x456a9b
lea eax, [edi + 0x61]
cmp esi, eax
je 0x456a7f
lea eax, [edi + 5]
cmp esi, eax
je 0x4566da
mov esi, dword [ebp - 0x208]
lea edi, [esi + 0x10]
lea eax, [edi + 2]
cmp esi, eax
jb 0x45703a
lea eax, [edi + 8]
cmp esi, eax
jb 0x45701f
lea eax, [edi + 0x80]
cmp esi, eax
jb 0x4568c5
lea eax, [edi + 0x61]
cmp esi, eax
jb 0x456896
lea eax, [edi + 5]
mov dword [ebp - 0x208], eax
cmp esi, eax
jb 0x456867
lea eax, [edi + 0x10]
cmp esi, eax
jb 0x456a65
lea eax, [edi + 0x400]
cmp esi, eax
jb 0x456a49
lea eax, [edi + 0x5a]
cmp esi, eax
jb 0x456a26
lea eax, [edi + 9]
cmp esi, eax
jb 0x4569ff
lea eax, [edi + 0x40]
cmp esi, eax
jb 0x4566da
mov esi, dword [ebp - 0x208]
lea edi, [esi + 0x7a]
lea eax, [edi + 0x42]
cmp esi, eax
ja 0x4569de
lea eax, [edi + 0x400]
cmp esi, eax
ja 0x4569bd
lea eax, [edi + 3]
cmp esi, eax
ja 0x4569aa
lea eax, [edi + 9]
cmp esi, eax
ja 0x45698c
lea eax, [edi + 0x200]
mov dword [ebp - 0x208], eax
cmp esi, eax
ja 0x456970
lea eax, [edi + 0x7a]
cmp esi, eax
ja 0x45694d
lea eax, [edi + 6]
cmp esi, eax
ja 0x45692c
lea eax, [edi + 0x20]
cmp esi, eax
ja 0x456910
lea eax, [edi + 0x1000]
cmp esi, eax
ja 0x4568f4
lea eax, [edi + 0x2a]
cmp esi, eax
ja 0x4566da
mov esi, dword [ebp - 0x208]
lea edi, [esi + 0xa]
jmp 0x4566da
lea edx, [ecx + 0x610a392]
mov cl, 1
mov dh, byte [ebp - 0x201]
mov al, dl
and al, byte [ebp - 0x1fc]
sub cl, al
add cl, cl
add cl, dl
add cl, dh
mov byte [ebp - 0x1f0], cl
mov ecx, dword [ebp - 0x1f8]
jmp 0x4566cf
lea edx, [ecx - 0x7ae6c352]
mov cl, 0x1f
mov dh, byte [ebp - 0x201]
mov al, dl
and al, byte [ebp - 0x1fc]
sub cl, al
add cl, cl
add cl, dl
add cl, dh
mov byte [ebp - 0x1f0], cl
mov ecx, dword [ebp - 0x1f8]
jmp 0x45667c
lea edx, [ecx + 0x421d5ca]
mov cl, 0x3d
mov dh, byte [ebp - 0x201]
mov al, dl
and al, byte [ebp - 0x1fc]
sub cl, al
add cl, cl
add cl, dl
add cl, dh
mov byte [ebp - 0x1f0], cl
mov ecx, dword [ebp - 0x1f8]
jmp 0x4565e1
add ecx, 0xd413f77c
mov al, cl
and al, byte [ebp - 0x1fc]
add al, al
sub cl, al
sub cl, 0x64
add cl, dh
jmp 0x456e9c
add ecx, 0x531c9098
mov al, cl
and al, byte [ebp - 0x1fc]
add al, al
sub cl, al
sub cl, 0x28
add cl, dh
jmp 0x456b6e
lea edx, [ecx - 0x2ddad64c]
mov cl, 0xa
mov al, dl
and al, byte [ebp - 0x1fc]
sub cl, al
add cl, cl
add cl, dl
add cl, byte [ebp - 0x201]
jmp 0x456e6d
lea edx, [ecx + 0x512dc2d0]
mov cl, 0x28
mov dh, byte [ebp - 0x201]
mov al, dl
and al, byte [ebp - 0x1fc]
sub cl, al
add cl, cl
add cl, dl
add cl, dh
jmp 0x456eff
add ecx, 0xd0365bec
mov al, cl
and al, byte [ebp - 0x1fc]
add al, al
sub cl, al
sub cl, 0x74
add cl, dh
jmp 0x456f43
add ecx, 0x4f3ef508
mov al, cl
and al, byte [ebp - 0x1fc]
add al, al
sub cl, al
sub cl, 0x38
add cl, dh
mov dl, cl
jmp 0x456c9b
lea edx, [ecx - 0x31b871dc]
mov cl, 2
mov dh, byte [ebp - 0x201]
jmp 0x456f78
lea edx, [ecx + 0x4d502740]
mov cl, 0x20
mov dh, byte [ebp - 0x201]
mov al, dl
and al, byte [ebp - 0x1fc]
sub cl, al
add cl, cl
add cl, dl
jmp 0x456ab0
lea edx, [ecx - 0x33a73fa4]
mov cl, 0x3e
mov al, dl
and al, byte [ebp - 0x1fc]
sub cl, al
add cl, cl
add cl, dl
add cl, byte [ebp - 0x201]
jmp 0x457001
lea edx, [ecx + 0x9ee3f22]
mov cl, 9
mov al, dl
and al, byte [ebp - 0x1fc]
sub cl, al
add cl, cl
add dl, cl
add dl, byte [ebp - 0x201]
mov dword [ebp - 0x1f0], edx
jmp 0x456dca
lea edx, [ecx - 0x770927c2]
mov cl, 0x27
mov dh, byte [ebp - 0x201]
mov al, dl
and al, byte [ebp - 0x1fc]
sub cl, al
add cl, cl
add cl, dl
add cl, dh
jmp 0x456c17
add ecx, 0x7ff715a
mov al, cl
and al, byte [ebp - 0x1fc]
add al, al
sub cl, al
sub cl, 0x76
add cl, dh
jmp 0x456be0
add ecx, 0x87080a76
mov al, cl
and al, byte [ebp - 0x1fc]
add al, al
sub cl, al
sub cl, 0x3a
jmp 0x456ba8
add ecx, 0x3fc886c8
mov al, cl
and al, byte [ebp - 0x1fc]
add al, al
sub cl, al
sub cl, 0x78
add cl, dh
jmp 0x457001
add ecx, 0xbed11fe4
mov al, cl
and al, byte [ebp - 0x1fc]
add al, al
sub cl, al
sub cl, 0x3c
add cl, dh
mov byte [ebp - 0x1f0], cl
mov ecx, dword [ebp - 0x1f8]
jmp 0x456fc3
add ecx, 0x3dd9b900
mov al, cl
and al, byte [ebp - 0x1fc]
add al, al
sub cl, al
jmp 0x456f86
lea edx, [ecx - 0x431dade4]
mov cl, 0x1e
mov al, dl
and al, byte [ebp - 0x1fc]
sub cl, al
add cl, cl
add dl, cl
add dl, byte [ebp - 0x201]
jmp 0x456c9b
lea edx, [ecx + 0x3beaeb38]
mov cl, 0x3c
mov al, dl
and al, byte [ebp - 0x1fc]
sub cl, al
add cl, cl
add cl, dl
add cl, byte [ebp - 0x201]
jmp 0x456f43
add ecx, 0xbaf38454
mov al, cl
and al, byte [ebp - 0x1fc]
add al, al
sub cl, al
sub cl, 0x4c
jmp 0x456969
add ecx, 0x39fc1d70
mov al, cl
and al, byte [ebp - 0x1fc]
add al, al
sub cl, al
sub cl, 0x10
add cl, dh
jmp 0x456e6d
lea edx, [ecx - 0x46fb4974]
mov cl, 0x16
mov al, dl
and al, byte [ebp - 0x1fc]
sub cl, al
add cl, cl
add cl, dl
add cl, byte [ebp - 0x201]
mov byte [ebp - 0x1f0], cl
jmp 0x456ec6
mov dl, cl
mov cl, 0x34
sub dl, 0x58
mov al, dl
and al, dh
sub cl, al
add cl, cl
add cl, dl
jmp 0x456909
lea eax, [edi + 0x10]
cmp esi, eax
jae 0x456c45
add cl, 0x72
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x1e
add cl, dh
mov byte [ebp - 0x1f0], cl
mov ecx, dword [ebp - 0x1f8]
lea eax, [edi + esi]
cmp eax, 0x40
je 0x456dfe
lea eax, [edi + 5]
cmp esi, eax
jbe 0x456cc7
mov dl, cl
mov al, dh
sub dl, 0x2a
mov cl, 0x13
and al, dl
sub cl, al
add cl, cl
add cl, dh
add cl, dl
mov byte [ebp - 0x1f0], cl
cmp esi, 0x2a
jae 0x456ddc
lea eax, [edi + 0x200]
cmp esi, eax
jbe 0x456d2f
mov eax, dword [ebp - 0x1f8]
mov cl, dh
mov dl, al
mov al, dh
add dl, 0x30
and al, dl
add al, al
sub cl, al
sub cl, 0x50
add cl, dl
mov byte [ebp - 0x1f0], cl
cmp edi, 0x28
jb 0x456dc4
mov dl, byte [ebp - 0x1f8]
mov al, dh
add dl, 0x18
mov cl, dh
and al, dl
add al, al
sub cl, al
add cl, dl
add cl, cl
sub cl, 0x50
jmp 0x456e9c
lea eax, [edi + 1]
cmp esi, eax
jne 0x456c62
mov dl, cl
mov cl, 0x30
add dl, 0x60
mov al, dh
and al, dl
sub cl, al
add cl, cl
add cl, dh
jmp 0x456fff
lea eax, [edi + 3]
cmp esi, eax
jne 0x456c82
mov dl, cl
mov al, dh
add dl, 0x28
mov cl, dh
and al, dl
add al, al
sub cl, al
sub cl, 0x18
add cl, dl
jmp 0x456f88
lea eax, [edi + 2]
cmp esi, eax
jne 0x456ca6
mov al, dh
add cl, 0xc
and al, cl
add al, al
sub dh, al
sub dh, 0x54
add dh, cl
mov dl, dh
mov dword [ebp - 0x1f0], edx
jmp 0x456f51
lea eax, [edi + 5]
cmp esi, eax
jne 0x456bb6
mov dl, cl
mov cl, 0x1a
sub dl, 0x2c
mov al, dh
and al, dl
sub cl, al
add cl, cl
add cl, dh
jmp 0x456efd
lea eax, [edi + 1]
cmp esi, eax
jne 0x456ce5
mov dl, cl
mov al, dh
sub dl, 0x46
mov cl, dh
and al, dl
add al, al
sub cl, al
sub cl, 0x16
jmp 0x456e9a
inc eax
cmp esi, eax
jne 0x456cf3
mov dl, cl
mov cl, 0x1b
add dl, 0x66
jmp 0x456cb8
lea eax, [edi + 3]
cmp esi, eax
jne 0x456d0d
mov al, dh
add cl, 0x4a
and al, cl
add al, al
sub dh, al
sub dh, 6
jmp 0x456e4d
lea eax, [edi + 7]
cmp esi, eax
jne 0x456be6
mov dl, cl
mov al, dh
add dl, 0x12
mov cl, dh
and al, dl
add al, al
sub cl, al
sub cl, 0x7e
jmp 0x456c7b
lea eax, [edi + 1]
cmp esi, eax
jne 0x456d48
mov eax, dword [ebp - 0x1f8]
mov cl, 0x3a
mov dl, al
add dl, 0x14
jmp 0x456c53
lea eax, [edi + 3]
cmp esi, eax
jne 0x456d6a
mov dl, byte [ebp - 0x1f8]
mov al, dh
sub dl, 0x24
mov cl, dh
and al, dl
add al, al
sub cl, al
sub cl, 4
jmp 0x456c7b
lea eax, [edi + 5]
cmp esi, eax
jne 0x456d81
mov dl, byte [ebp - 0x1f8]
mov cl, 0x24
sub dl, 0x78
jmp 0x456cb8
lea eax, [edi + 4]
cmp esi, eax
jne 0x456d98
mov dl, byte [ebp - 0x1f8]
mov cl, 6
add dl, 0x6c
jmp 0x456e61
lea eax, [edi + 2]
cmp esi, eax
jne 0x456c1d
mov cl, byte [ebp - 0x1f8]
mov al, dh
add cl, 0x50
and al, cl
add al, al
sub dh, al
sub dh, 0x30
add dh, cl
mov byte [ebp - 0x1f0], dh
jmp 0x456ec6
mov edx, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1f8]
mov byte [ebp + ecx - 0x98], dl
jmp 0x457019
mov ecx, dword [ebp - 0x1f8]
mov al, dh
mov dl, cl
sub dl, 4
and al, dl
mov cl, byte [ebp + ecx - 0x98]
sub cl, al
add cl, 0xe
add cl, cl
jmp 0x456efd
mov dl, cl
mov al, dh
sub dl, 0x20
mov cl, dh
and al, dl
add al, al
sub cl, al
mov eax, dword [ebp - 0x1f8]
sub cl, byte [ebp + eax - 0x98]
sub cl, 0x20
add cl, dl
jmp 0x456f8e
add cl, 0xa
mov al, dh
and al, cl
sub cl, 0x46
add al, al
sub dh, al
add dh, cl
mov byte [ebp - 0x1f0], dh
jmp 0x457007
mov al, dh
add cl, 0x7a
and al, cl
add al, al
sub dh, al
sub dh, 0x56
add dh, cl
mov byte [ebp - 0x1f0], dh
jmp 0x456f49
mov dl, cl
mov cl, 0x11
sub dl, 0x4e
mov al, dh
and al, dl
sub cl, al
add cl, cl
add cl, dh
add cl, dl
mov byte [ebp - 0x1f0], cl
jmp 0x456edf
mov dl, cl
mov al, dh
sub dl, 0x16
mov cl, dh
and al, dl
add al, al
sub cl, al
sub cl, 0x66
jmp 0x456e9a
mov dl, cl
mov al, dh
add dl, 0x22
mov cl, 9
and al, dl
sub cl, al
add cl, cl
add cl, dh
add cl, dl
mov byte [ebp - 0x1f0], cl
mov dl, byte [ebp - 0x1f8]
mov al, dh
sub dl, 0x76
mov cl, 0x1d
and al, dl
sub cl, al
mov eax, dword [ebp - 0x1f8]
add cl, cl
add cl, dh
add cl, dl
mov byte [ebp + eax - 0x98], cl
inc edi
jmp 0x456edf
mov al, dh
add cl, 0x5a
and al, cl
add al, al
sub dh, al
sub dh, 0x76
add dh, cl
mov byte [ebp - 0x1f0], dh
mov ecx, dword [ebp - 0x1f8]
dec ecx
jmp 0x457019
mov dl, cl
mov al, dh
add dl, 0x76
mov cl, dh
and al, dl
add al, al
sub cl, al
sub cl, 0x3a
add cl, dl
mov byte [ebp - 0x1f0], cl
mov cl, byte [ebp - 0x1f8]
mov al, dh
add cl, 0x6e
and al, cl
add al, al
sub dh, al
mov eax, dword [ebp - 0x1f8]
sub dh, 2
add dh, byte [ebp - 0x1f0]
add dh, cl
mov byte [ebp + eax - 0x98], dh
jmp 0x456f49
mov dl, cl
mov al, dh
sub dl, 0x6e
mov cl, 1
and al, dl
sub cl, al
add cl, cl
add cl, dh
add cl, dl
mov byte [ebp - 0x1f0], cl
mov edx, dword [ebp - 0x1f0]
add esi, edi
or ecx, 0xffffffff
movzx eax, dl
sub ecx, eax
add dword [ebp - 0x1f8], ecx
mov ecx, dword [ebp - 0x1f8]
jmp 0x457019
lea edx, [ecx - 0x39b7e336]
mov cl, 0x3d
mov dh, byte [ebp - 0x1f1]
mov al, dl
and al, byte [ebp - 0x1fc]
sub cl, al
add cl, cl
add cl, dl
add cl, dh
mov eax, dword [ebp - 0x1f8]
mov byte [ebp - 0x1f0], cl
mov cl, al
mov dl, dh
add cl, 0x52
mov al, dh
and al, cl
sub cl, 0x3e
add al, al
sub dl, al
add dl, cl
mov ecx, dword [ebp - 0x1f8]
inc edi
movzx eax, dl
add eax, edi
mov byte [ebp + ecx - 0x98], dl
sub ecx, eax
mov dword [ebp - 0x1f8], ecx
sub cl, 0x3c
mov al, dh
and al, cl
sub cl, 0x5c
add al, al
sub dh, al
or eax, 0xffffffff
add dh, cl
mov ecx, dword [ebp - 0x1f8]
inc esi
sub eax, esi
mov byte [ebp + ecx - 0x98], dh
add ecx, eax
jmp 0x45700d
add ecx, 0xc4594f02
mov al, cl
and al, byte [ebp - 0x1fc]
add al, al
sub cl, al
sub cl, 0xe
add cl, dl
mov byte [ebp - 0x1f0], cl
mov ecx, dword [ebp - 0x1f8]
movzx eax, byte [ebp + ecx - 0x98]
add eax, edi
add ecx, eax
inc ecx
jmp 0x4565bc
mov al, dh
sub cl, 0x1a
and al, cl
add al, al
sub dh, al
sub dh, 0x4a
add dh, cl
mov byte [ebp - 0x1f0], dh
jmp 0x4565ba
mov al, dh
add cl, 2
and al, cl
add al, al
sub dh, al
sub dh, 0xe
add dh, cl
mov byte [ebp - 0x1f0], dh
jmp 0x4565ae
mov edx, dword [ebp + 0x142c4ac]
mov dword [ebp - 0x208], edx
jmp 0x457077
mov edx, dword [ebp + 0xbe781e]
jmp 0x45705b
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x208], eax
push 6
xor eax, eax
mov byte [ebp - 0xb4], 0x46
pop ecx
lea edi, [ebp - 0xb0]
mov byte [ebp - 0xb3], 0x5d
mov byte [ebp - 0xb2], 0x40
mov byte [ebp - 0xb1], 0x43
rep stosd dword es:[edi], eax
mov al, byte [ebp - 0x219]
mov dword [ebp - 0x1f0], eax
mov esi, dword [0x4cad2c]
mov edi, dword [0x4cad28]
mov dword [ebp - 0x200], esi
xor edx, edx
mov dword [ebp - 0x1fc], edx
cmp edx, 0x1c
jae 0x457a1f
mov ch, byte [ebp + edx - 0xb4]
movzx eax, ch
mov byte [ebp - 0x1f1], ch
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x1f8], eax
cmp edi, edx
ja 0x457a17
lea eax, [esi + 0x200]
cmp edi, eax
jae 0x45712b
mov eax, dword [ebp - 0x1f8]
lea ecx, [edx + 0x5e1a984d]
and eax, ecx
add eax, eax
sub dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x1f8]
add eax, ecx
mov ch, byte [ebp - 0x1f1]
sub al, 0x1b
mov dword [ebp - 0x1f0], eax
jmp 0x457155
lea eax, [esi + 1]
cmp edi, eax
je 0x4579a6
inc eax
cmp edi, eax
je 0x457921
lea eax, [esi + 3]
cmp edi, eax
je 0x4578ef
lea eax, [esi + 5]
cmp edi, eax
je 0x4578d1
cmp esi, edx
ja 0x457a0f
lea eax, [esi + 0x5a]
cmp edi, eax
jae 0x457179
mov cl, dl
add cl, 0x29
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x1f
jmp 0x45733e
lea eax, [esi + 1]
cmp edi, eax
je 0x457891
inc eax
cmp edi, eax
je 0x45787f
lea eax, [esi + 5]
cmp edi, eax
je 0x45785e
lea eax, [esi + 6]
cmp edi, eax
je 0x457849
lea eax, [esi + edi]
cmp eax, edx
jbe 0x45759d
lea eax, [esi + 0x1000]
cmp edi, eax
je 0x457585
lea eax, [esi + 0x61]
cmp edi, eax
je 0x457570
lea eax, [esi + 0x3e8]
cmp edi, eax
je 0x457553
lea eax, [esi + 0x64]
cmp edi, eax
je 0x45753d
lea eax, [esi + 0x28]
cmp edi, eax
je 0x457524
lea eax, [esi + 0xa]
cmp edi, eax
je 0x457508
lea eax, [esi + 0x10]
cmp edi, eax
je 0x4574f1
lea eax, [esi + 8]
cmp edi, eax
je 0x4574d4
lea eax, [esi + 4]
cmp edi, eax
je 0x4574ca
lea eax, [esi + 1]
cmp edi, eax
je 0x4571ae
lea edi, [esi + 0x42]
lea esi, [edi + 2]
lea eax, [esi + 0x20]
mov dword [ebp - 0x200], esi
cmp edi, eax
jb 0x4579f4
lea eax, [esi + 0x28]
cmp edi, eax
jb 0x4579d9
lea eax, [esi + 0xa]
cmp edi, eax
jb 0x457368
lea eax, [esi + 6]
cmp edi, eax
jb 0x45734b
lea eax, [esi + 3]
cmp edi, eax
jb 0x45732e
lea eax, [esi + 4]
cmp edi, eax
jb 0x4574b5
lea eax, [esi + 1]
cmp edi, eax
jb 0x4574a0
lea eax, [esi + 0x41]
cmp edi, eax
jb 0x45748b
lea eax, [esi + 0x1000]
cmp edi, eax
jb 0x457465
lea eax, [esi + 0x61]
cmp edi, eax
jb 0x4571ae
lea edi, [esi + 5]
lea esi, [edi + 0x3e8]
lea eax, [esi + 2]
mov dword [ebp - 0x200], esi
cmp edi, eax
ja 0x457449
lea eax, [esi + 3]
cmp edi, eax
ja 0x457434
lea eax, [esi + 0x2a]
cmp edi, eax
ja 0x45741e
lea eax, [esi + 0x7a]
cmp edi, eax
ja 0x457407
lea eax, [esi + 0x400]
cmp edi, eax
ja 0x4573df
lea eax, [esi + 0x1000]
cmp edi, eax
ja 0x4573c3
lea eax, [esi + 0x200]
cmp edi, eax
ja 0x4573ae
lea eax, [esi + 0x42]
cmp edi, eax
ja 0x4573a4
lea eax, [esi + 0x20]
cmp edi, eax
ja 0x45738b
lea eax, [esi + 0x28]
cmp edi, eax
ja 0x4571ae
lea edi, [esi + 0x61]
lea esi, [edi + 0xa]
mov dword [ebp - 0x200], esi
jmp 0x4571ae
mov cl, dl
add cl, 0x3b
mov al, cl
and al, ch
add al, al
sub cl, al
add cl, 0x63
add cl, ch
mov byte [ebp - 0x1f0], cl
jmp 0x4571a3
mov cl, dl
add cl, 0x25
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 3
add cl, ch
mov byte [ebp - 0x1f0], cl
jmp 0x457155
mov cl, dl
add cl, 0xf
mov al, cl
and al, ch
add al, al
sub cl, al
mov eax, dword [ebp - 0x210]
sub cl, 0x69
add cl, ch
mov byte [ebp - 0x1f0], cl
jmp 0x4570e5
mov cl, dl
mov ah, dl
add cl, 0x7a
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x56
add cl, ch
jmp 0x4578ab
add dl, 0x64
mov cl, 0x22
jmp 0x45769e
mov cl, dl
add cl, 0x4e
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x22
jmp 0x457563
add dl, 0x38
mov cl, 0x3c
mov al, dl
and al, ch
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [ebp - 0x1fc]
mov ah, dl
jmp 0x457811
add dl, 0x22
mov cl, 9
mov al, dl
and al, ch
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [ebp - 0x1fc]
add cl, ch
mov byte [ebp - 0x1f0], cl
mov eax, dword [ebp - 0x1f0]
jmp 0x457878
mov cl, dl
add cl, 0xc
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x54
add cl, ch
jmp 0x45790a
sub dl, 0xa
mov cl, 0x23
mov al, dl
and al, ch
sub cl, al
add cl, cl
add cl, dl
add cl, ch
jmp 0x45793c
mov cl, dl
sub cl, 0x20
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x20
jmp 0x4574e4
sub dl, 0x36
mov cl, 0x3d
mov al, dl
and al, ch
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [ebp - 0x1fc]
add cl, ch
jmp 0x4579c1
mov cl, dl
sub cl, 0x6d
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 5
add cl, ch
mov al, cl
mov dword [ebp - 0x1f0], eax
mov byte [ebp + edx - 0xb4], al
jmp 0x4579d3
mov cl, dl
add cl, 0x7d
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x6b
jmp 0x45760f
mov cl, dl
add cl, 0x67
mov al, cl
and al, ch
add al, al
sub cl, al
add cl, 0x2f
jmp 0x4575e3
mov cl, dl
add cl, 0x51
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x37
jmp 0x4575b4
sub dl, 0x54
mov cl, 0x26
jmp 0x45744e
mov cl, dl
sub cl, 0x6a
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x1a
add cl, ch
mov byte [ebp - 0x1f0], cl
jmp 0x457983
mov cl, dl
sub cl, 0x80
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x80
add cl, ch
jmp 0x457942
add dl, 0x6a
mov cl, 0xd
mov al, dl
and al, ch
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [ebp - 0x1fc]
add cl, ch
jmp 0x45790a
mov cl, dl
add cl, 0x54
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x4c
add cl, ch
mov al, cl
jmp 0x457872
mov ah, dl
mov cl, 0x27
add dl, 0x3e
mov al, dl
and al, ch
sub cl, al
add cl, cl
add cl, dl
jmp 0x45780b
mov cl, dl
add cl, 0x28
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x18
add cl, ch
mov byte [ebp - 0x1f0], cl
jmp 0x4578e9
mov cl, dl
add cl, 0x12
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x7e
jmp 0x4576ea
mov ah, dl
mov cl, 0xe
sub dl, 4
mov al, dl
and al, ch
sub cl, al
add cl, cl
add cl, dl
add cl, ch
jmp 0x4578a5
lea eax, [esi + 2]
cmp edi, eax
jae 0x45761e
mov cl, dl
add cl, 0xb
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x4d
add cl, ch
mov byte [ebp - 0x1f0], cl
lea eax, [esi + edi]
cmp eax, 0x61
je 0x457837
lea eax, [esi + 0xa]
cmp edi, eax
jbe 0x4576b5
mov cl, dl
sub cl, 0x1f
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x27
add cl, ch
mov byte [ebp - 0x1f0], cl
cmp edi, 0x28
jae 0x4577e6
lea eax, [esi + 0x2a]
cmp edi, eax
jbe 0x45772d
mov cl, dl
sub cl, 0x38
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x78
add cl, ch
mov al, cl
mov dword [ebp - 0x1f0], eax
jmp 0x4577c3
lea eax, [esi + 1]
cmp edi, eax
jne 0x45763c
mov cl, dl
add cl, 0x10
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x70
add cl, ch
jmp 0x4579c1
inc eax
cmp edi, eax
jne 0x45764b
add dl, 0x3c
mov cl, 0x2e
jmp 0x457423
lea eax, [esi + 4]
cmp edi, eax
jne 0x457670
add dl, 0x68
mov cl, 0x14
mov al, dl
and al, ch
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [ebp - 0x1fc]
add cl, ch
mov al, cl
jmp 0x457872
lea eax, [esi + 5]
cmp edi, eax
jne 0x45768e
mov ah, dl
mov cl, ah
add cl, 0x7e
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x72
jmp 0x457811
lea eax, [esi + 3]
cmp edi, eax
jne 0x4575bc
sub dl, 0x56
mov cl, 0x2d
mov al, dl
and al, ch
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [ebp - 0x1fc]
add cl, ch
jmp 0x4578c2
lea eax, [esi + 1]
cmp edi, eax
jne 0x4576d5
mov ah, dl
mov cl, ah
sub cl, 9
mov al, cl
and al, ch
add al, al
sub cl, al
add cl, 0x3f
add cl, ch
jmp 0x4578ab
inc eax
cmp edi, eax
jne 0x4576f1
mov cl, dl
add cl, 0xd
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x5b
add cl, ch
jmp 0x4578c2
lea eax, [esi + 5]
cmp edi, eax
jne 0x45770d
mov cl, dl
add cl, 0x65
mov al, cl
and al, ch
add al, al
sub cl, al
add cl, 0x3d
jmp 0x457417
lea eax, [esi + 2]
cmp edi, eax
jne 0x4575eb
mov cl, dl
sub cl, 0x59
mov al, cl
and al, ch
add al, al
sub cl, al
add cl, 0x6f
jmp 0x457635
lea eax, [esi + 1]
cmp edi, eax
jne 0x457749
mov cl, dl
sub cl, 0x22
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x12
jmp 0x457635
inc eax
cmp edi, eax
jne 0x457763
mov cl, dl
add cl, 0xa
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x46
jmp 0x457501
lea eax, [esi + 3]
cmp edi, eax
jne 0x457781
mov ah, dl
mov cl, ah
add cl, 0x4c
mov al, cl
and al, ch
add al, al
sub cl, al
sub cl, 0x14
jmp 0x457811
lea eax, [esi + 6]
cmp edi, eax
jne 0x4577aa
add dl, 0x62
mov cl, 0x29
mov al, dl
and al, ch
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [ebp - 0x1fc]
add cl, ch
mov byte [ebp - 0x1f0], cl
jmp 0x4578e9
lea eax, [esi + 7]
cmp edi, eax
jne 0x4577bd
mov ah, dl
mov cl, 0xf
sub dl, 0x72
jmp 0x45758c
mov eax, dword [ebp - 0x1f0]
cmp esi, 3
jb 0x45747f
mov ah, dl
mov cl, 2
sub dl, 0x5c
mov al, dl
and al, ch
sub cl, al
add cl, cl
add cl, dl
add cl, ch
add cl, cl
jmp 0x4578a5
mov esi, dword [ebp - 0x1fc]
mov ah, dl
sub dl, 0x46
mov al, dl
and al, ch
mov cl, byte [ebp + esi - 0xb4]
add al, al
mov esi, dword [ebp - 0x200]
sub cl, al
add cl, dl
sub cl, 0x16
mov edx, dword [ebp - 0x1fc]
add cl, ch
mov byte [ebp - 0x1f0], cl
sub ah, 0x3b
mov al, ch
and al, ah
sub ah, 0x63
add al, al
sub cl, al
add cl, ch
add cl, ah
mov byte [ebp + edx - 0xb4], cl
jmp 0x4573fc
sub dl, 0x30
mov cl, 0x28
mov al, dl
and al, ch
sub cl, al
add cl, cl
jmp 0x45793a
mov cl, dl
sub cl, 0x11
mov al, cl
and al, ch
add al, al
sub cl, al
add cl, 0x77
jmp 0x457635
mov al, ch
mov cl, dl
sub cl, 0x69
and al, cl
add al, al
sub ch, al
sub ch, 0x21
add ch, cl
mov al, ch
mov dword [ebp - 0x1f0], eax
add edi, esi
jmp 0x457912
mov cl, dl
mov al, ch
add cl, 0x6b
and al, cl
add al, al
sub ch, al
add ch, 0x13
jmp 0x4578e1
mov ah, dl
mov al, ch
add dl, 0x3f
mov cl, ch
and al, dl
add dl, 0x47
add al, al
sub cl, al
add cl, dl
mov edx, dword [ebp - 0x1fc]
mov al, ch
sub ah, 0x51
and al, ah
add al, al
sub ch, al
add ch, 0x37
add ch, ah
mov byte [ebp + edx - 0xb4], ch
mov byte [ebp - 0x1f0], cl
inc esi
mov dword [ebp - 0x200], esi
jmp 0x4578e9
mov cl, dl
mov al, ch
sub cl, 0x19
and al, cl
add al, al
sub ch, al
sub ch, 0x51
add ch, cl
mov byte [ebp - 0x1f0], ch
dec edx
jmp 0x4579d3
lea ecx, [edx + 0x5befd8a5]
mov al, cl
and al, byte [ebp - 0x1f8]
add al, al
sub cl, al
add cl, 0x7d
add cl, byte [ebp - 0x1f8]
mov al, cl
mov dword [ebp - 0x1f0], eax
or ecx, 0xffffffff
movzx eax, al
sub ecx, eax
add edx, ecx
jmp 0x4579d3
mov ch, byte [ebp - 0x1f8]
add edx, 0x1c7a888f
mov al, dl
mov cl, ch
and al, ch
add al, al
sub cl, al
add dl, 0x17
add cl, dl
mov edx, dword [ebp - 0x1fc]
mov byte [ebp - 0x1f0], cl
mov esi, dword [ebp - 0x1fc]
mov cl, dl
sub cl, 0x25
mov al, ch
and al, cl
mov dl, ch
add al, al
sub dl, al
add dl, 3
add dl, cl
mov byte [ebp + esi - 0xb4], dl
mov esi, dword [ebp - 0x200]
inc esi
movzx eax, dl
mov edx, dword [ebp - 0x1fc]
add eax, esi
mov dword [ebp - 0x200], esi
sub edx, eax
mov al, ch
mov cl, dl
sub cl, 0x1a
and al, cl
add al, al
sub ch, al
or eax, 0xffffffff
sub ch, 0x4a
add ch, cl
inc edi
sub eax, edi
mov byte [ebp + edx - 0xb4], ch
add edx, eax
jmp 0x4579c7
lea ecx, [edx - 0x6270179d]
mov al, cl
and al, byte [ebp - 0x1f8]
add al, al
sub cl, al
add cl, 0x4b
add cl, byte [ebp - 0x1f8]
mov byte [ebp - 0x1f0], cl
movzx eax, byte [ebp + edx - 0xb4]
add eax, esi
add edx, eax
inc edx
jmp 0x4570c0
mov al, ch
sub dl, 7
and al, dl
add al, al
sub ch, al
add ch, 0x31
add ch, dl
mov byte [ebp - 0x1f0], ch
jmp 0x4570be
mov al, ch
sub dl, 0x1d
and al, dl
add al, al
sub ch, al
sub ch, 0x35
add ch, dl
mov byte [ebp - 0x1f0], ch
jmp 0x4570ac
mov eax, dword [ebp + 0x148d6f2]
jmp 0x457a25
mov eax, dword [ebp + 0xc37efd]
jmp 0x457a25
mov eax, dword [ebp - 0xb4]
mov dl, byte [ebp - 0x219]
lea edi, [ebp - 0x7c]
mov dword [ebp - 0x1fc], eax
xor eax, eax
mov byte [ebp - 0x80], 0xa6
mov byte [ebp - 0x7f], 0xa1
mov byte [ebp - 0x7e], 0xa4
mov byte [ebp - 0x7d], 0xab
stosd dword es:[edi], eax
mov dword [ebp - 0x1f0], edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov esi, dword [0x4cad28]
mov edi, dword [0x4cad2c]
xor ecx, ecx
mov dword [ebp - 0x1f8], ecx
cmp ecx, 0x10
jae 0x4582b4
mov dh, byte [ebp + ecx - 0x80]
movzx eax, dh
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x200], eax
cmp esi, ecx
ja 0x4582ac
lea eax, [edi + 8]
cmp esi, eax
jae 0x457abe
lea eax, [ecx + 0x29ed1743]
mov dword [ebp - 0x1f0], eax
and eax, dword [ebp - 0x200]
add eax, eax
sub dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x1f0]
add eax, dword [ebp - 0x200]
add al, 0x2b
mov dword [ebp - 0x1f0], eax
jmp 0x457adf
lea eax, [edi + 1]
cmp esi, eax
je 0x45823a
lea eax, [edi + 3]
cmp esi, eax
je 0x4581bc
lea eax, [edi + 4]
cmp esi, eax
je 0x458185
cmp edi, ecx
ja 0x4582a4
lea eax, [edi + 3]
cmp esi, eax
jae 0x457b01
add cl, 0x27
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x11
jmp 0x457c60
lea eax, [edi + 1]
cmp esi, eax
je 0x458146
inc eax
cmp esi, eax
je 0x458134
lea eax, [edi + 4]
cmp esi, eax
je 0x458124
lea eax, [edi + 6]
cmp esi, eax
je 0x45810a
lea eax, [edi + 7]
cmp esi, eax
je 0x4580f7
lea eax, [edi + 3]
cmp esi, eax
je 0x4580dc
lea eax, [edi + 5]
cmp esi, eax
je 0x4580c9
lea eax, [edi + esi]
cmp eax, ecx
jbe 0x457df0
lea eax, [edi + 0x2a]
cmp esi, eax
je 0x457dd5
lea eax, [edi + 0x1000]
cmp esi, eax
je 0x457dbd
lea eax, [edi + 0x64]
cmp esi, eax
je 0x457daa
lea eax, [edi + 0x10]
cmp esi, eax
je 0x457d8a
lea eax, [edi + 5]
cmp esi, eax
je 0x457d77
lea esi, [edi + 0x40]
lea edi, [esi + 0x2a]
lea eax, [edi + 9]
cmp esi, eax
jb 0x458289
lea eax, [edi + 3]
cmp esi, eax
jb 0x45826e
lea eax, [edi + 0x41]
cmp esi, eax
jb 0x457c94
lea eax, [edi + 0x3e8]
cmp esi, eax
jb 0x457c73
lea eax, [edi + 0x40]
cmp esi, eax
jb 0x457c52
lea eax, [edi + 4]
cmp esi, eax
jb 0x457d64
lea eax, [edi + 0x5a]
cmp esi, eax
jb 0x457d52
lea eax, [edi + 0x400]
cmp esi, eax
jb 0x457d3f
lea eax, [edi + 0x42]
cmp esi, eax
jb 0x457d22
lea eax, [edi + 0xa]
cmp esi, eax
jb 0x457b57
lea esi, [edi + 0x61]
lea edi, [esi + 4]
lea eax, [edi + 0x28]
cmp esi, eax
ja 0x457d0d
lea eax, [edi + 8]
cmp esi, eax
ja 0x457cf7
lea eax, [edi + 2]
cmp esi, eax
ja 0x457ce4
lea eax, [edi + 0x7a]
cmp esi, eax
ja 0x457cce
lea eax, [edi + 0x200]
cmp esi, eax
ja 0x457cbb
lea esi, [edi + 0x2a]
lea edi, [esi + 9]
jmp 0x457b57
sub cl, 0x4b
mov al, cl
and al, dh
add al, al
sub cl, al
add cl, 0xd
add cl, dh
mov byte [ebp - 0x1f0], cl
mov ecx, dword [ebp - 0x1f8]
jmp 0x457b4c
sub cl, 0x15
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x6d
add cl, dh
mov byte [ebp - 0x1f0], cl
mov ecx, dword [ebp - 0x1f8]
jmp 0x457adf
add cl, 0x21
mov al, cl
and al, dh
add al, al
sub cl, al
mov eax, dword [ebp - 0x210]
add cl, 0x19
add cl, dh
mov byte [ebp - 0x1f0], cl
mov ecx, dword [ebp - 0x1f8]
jmp 0x457a79
add cl, 0x7e
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x72
jmp 0x458193
mov dl, cl
mov cl, 0xa
sub dl, 0x4c
mov al, dl
and al, dh
sub cl, al
add cl, cl
add cl, dl
jmp 0x458118
sub cl, 0x16
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x66
jmp 0x4581d3
mov dl, cl
mov cl, 0x10
add dl, 0x20
mov al, dl
and al, dh
sub cl, al
add cl, cl
add cl, dl
jmp 0x4580ea
add cl, 0x56
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x5a
add cl, dh
jmp 0x458253
sub cl, 0x23
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0xb
add cl, dh
mov dl, cl
mov dword [ebp - 0x1f0], edx
jmp 0x458058
add cl, 0x13
mov al, cl
and al, dh
add al, al
sub cl, al
add cl, 0x7b
jmp 0x457e74
add cl, 0x49
mov al, cl
and al, dh
add al, al
sub cl, al
inc cl
jmp 0x457e3f
add cl, 0x7f
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x79
jmp 0x457e09
sub cl, 0x14
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x74
jmp 0x458193
mov dl, cl
mov cl, 9
add dl, 0x22
mov al, dl
and al, dh
sub cl, al
mov eax, dword [ebp - 0x1f8]
add cl, cl
mov ah, al
add cl, dl
add cl, dh
jmp 0x458085
add cl, 0x58
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x68
jmp 0x458142
mov dl, cl
mov cl, 0xf
sub dl, 0x72
mov al, dl
and al, dh
sub cl, al
add cl, cl
add cl, dl
add cl, dh
jmp 0x458172
sub cl, 0x3c
mov al, cl
and al, dh
add al, al
sub cl, al
mov eax, dword [ebp - 0x1f8]
sub cl, 0x5c
mov ch, al
jmp 0x458156
lea eax, [edi + 0x5a]
cmp esi, eax
jae 0x457ea5
sub cl, 0x1b
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x43
add cl, dh
mov byte [ebp - 0x1f0], cl
mov ecx, dword [ebp - 0x1f8]
lea eax, [edi + esi]
cmp eax, 0x28
je 0x4580ac
lea eax, [edi + 0x1000]
cmp esi, eax
jbe 0x457f1e
sub cl, 0x11
mov al, cl
and al, dh
add al, al
sub cl, al
add cl, 0x77
add cl, dh
mov byte [ebp - 0x1f0], cl
cmp esi, 0x80
jae 0x458067
lea ecx, [edi + 3]
cmp esi, ecx
jbe 0x457fc0
mov eax, dword [ebp - 0x1f8]
mov cl, al
sub cl, 0x48
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 8
add cl, dh
mov byte [ebp - 0x1f0], cl
cmp edi, 0x5a
jb 0x458052
mov ch, byte [ebp - 0x1f8]
mov cl, 0x1e
mov dl, ch
sub dl, 0x64
mov al, dl
and al, dh
sub cl, al
add cl, cl
add cl, dl
add cl, dh
add cl, cl
jmp 0x458158
lea eax, [edi + 1]
cmp esi, eax
jne 0x457ec2
mov dl, cl
mov cl, 0x38
sub dl, 0x10
mov al, dl
and al, dh
sub cl, al
add cl, cl
add cl, dl
jmp 0x457d1b
inc eax
cmp esi, eax
jne 0x457edd
mov dl, cl
mov cl, 0x32
sub dl, 0x7c
mov al, dl
and al, dh
sub cl, al
add cl, cl
add cl, dl
jmp 0x4581d3
lea eax, [edi + 3]
cmp esi, eax
jne 0x457efb
mov ah, cl
sub cl, 0x1e
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x2e
add cl, dh
jmp 0x458085
lea eax, [edi + 9]
cmp esi, eax
jne 0x457e17
mov ch, cl
mov cl, 0x20
mov dl, ch
add dl, 0x40
mov al, dl
and al, dh
sub cl, al
add cl, cl
add cl, dl
jmp 0x458156
lea eax, [edi + 1]
cmp esi, eax
jne 0x457f3a
mov ch, cl
sub cl, 0x47
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0xf
jmp 0x458156
lea eax, [edi + 3]
cmp esi, eax
jne 0x457f54
add cl, 0x4d
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x1b
jmp 0x458142
lea eax, [edi + 2]
cmp esi, eax
jne 0x457f6e
sub cl, 0x1f
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x27
jmp 0x458193
lea eax, [edi + 5]
cmp esi, eax
jne 0x457f88
sub cl, 0x55
mov al, cl
and al, dh
add al, al
sub cl, al
add cl, 0x53
jmp 0x458118
lea eax, [edi + 6]
cmp esi, eax
jne 0x457fa2
add cl, 0x3f
mov al, cl
and al, dh
add al, al
sub cl, al
add cl, 0x47
jmp 0x4580ea
lea eax, [edi + 8]
cmp esi, eax
jne 0x457e47
add cl, 9
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x3f
jmp 0x457d1b
lea eax, [edi + 1]
cmp esi, eax
jne 0x457fd9
mov eax, dword [ebp - 0x1f8]
mov cl, 0x39
mov dl, al
sub dl, 0x7e
jmp 0x457eb3
inc eax
cmp esi, eax
jne 0x457fee
mov dl, byte [ebp - 0x1f8]
mov cl, 0x33
add dl, 0x16
jmp 0x457ece
lea eax, [edi + 5]
cmp esi, eax
jne 0x458010
mov ah, byte [ebp - 0x1f8]
mov cl, ah
add cl, 0x74
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x2c
jmp 0x457ef4
lea eax, [edi + 4]
cmp esi, eax
jne 0x458031
mov dl, byte [ebp - 0x1f8]
mov cl, 0x27
add dl, 0x3e
mov al, dl
and al, dh
sub cl, al
add cl, cl
add cl, dl
jmp 0x458142
cmp esi, ecx
jne 0x457e7c
mov cl, byte [ebp - 0x1f8]
add cl, 8
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x38
jmp 0x457dce
mov edx, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1f8]
mov byte [ebp + ecx - 0x80], dl
jmp 0x458268
mov ecx, dword [ebp - 0x1f8]
mov ah, cl
mov dl, ah
add dl, 0x66
mov al, dl
mov cl, byte [ebp + ecx - 0x80]
and al, dh
sub cl, al
add cl, 0x1b
add cl, cl
add cl, dl
mov dword [ebp - 0x1f0], ecx
add ah, 0x4b
mov al, ah
sub ah, 0xd
and al, dh
add al, al
sub cl, al
add cl, ah
mov eax, dword [ebp - 0x1f8]
add cl, dh
mov byte [ebp + eax - 0x80], cl
jmp 0x45819b
add cl, 0x30
mov al, cl
and al, dh
add al, al
sub cl, al
mov eax, dword [ebp - 0x1f8]
sub cl, byte [ebp + eax - 0x80]
sub cl, 0x50
jmp 0x4581d9
add cl, 0x41
mov al, cl
and al, dh
add al, al
sub cl, al
add cl, 0x39
jmp 0x457d1b
add cl, 0x77
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x41
add cl, dh
mov byte [ebp - 0x1f0], cl
jmp 0x458209
sub cl, 0x53
mov al, cl
and al, dh
add al, al
sub cl, al
add cl, 0x45
jmp 0x4581d3
sub cl, 0x1d
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x35
add cl, dh
mov dl, cl
mov dword [ebp - 0x1f0], edx
jmp 0x4581a3
add cl, 0x19
mov al, cl
and al, dh
add al, al
sub cl, al
add cl, 0x51
jmp 0x458193
sub cl, 0x7b
mov al, cl
and al, dh
add al, al
sub cl, al
add cl, 0x5d
add cl, dh
jmp 0x458173
mov ch, cl
sub cl, 0xf
mov al, cl
and al, dh
add al, al
sub cl, al
add cl, 0x69
add cl, dh
sub ch, 0x7f
mov al, ch
and al, dh
add al, al
sub ch, al
mov eax, dword [ebp - 0x1f8]
add ch, 0x79
add ch, dh
mov byte [ebp + eax - 0x80], ch
inc edi
mov byte [ebp - 0x1f0], cl
mov ecx, dword [ebp - 0x1f8]
dec ecx
jmp 0x458268
add cl, 0x35
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x73
add cl, dh
mov byte [ebp - 0x1f0], cl
mov edx, dword [ebp - 0x1f0]
add esi, edi
or ecx, 0xffffffff
movzx eax, dl
sub ecx, eax
add dword [ebp - 0x1f8], ecx
mov ecx, dword [ebp - 0x1f8]
jmp 0x458268
mov dh, byte [ebp - 0x200]
add ecx, 0xe02606a1
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x67
mov eax, dword [ebp - 0x1f8]
add cl, dh
mov byte [ebp - 0x1f0], cl
mov cl, al
add cl, 0x15
mov al, cl
and al, dh
add al, al
sub cl, al
mov eax, dword [ebp - 0x1f8]
add cl, 0x6d
add cl, dh
inc edi
mov byte [ebp + eax - 0x80], cl
movzx eax, cl
add eax, edi
sub dword [ebp - 0x1f8], eax
mov dl, byte [ebp - 0x1f8]
mov cl, 0x15
sub dl, 6
mov al, dl
and al, dh
sub cl, al
mov eax, dword [ebp - 0x1f8]
add cl, cl
add cl, dl
add cl, dh
inc esi
mov byte [ebp + eax - 0x80], cl
or eax, 0xffffffff
mov ecx, dword [ebp - 0x1f8]
sub eax, esi
add ecx, eax
jmp 0x45825f
mov edx, dword [ebp - 0x200]
add ecx, 0x1155670d
mov al, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x5b
add cl, dl
mov byte [ebp - 0x1f0], cl
mov ecx, dword [ebp - 0x1f8]
movzx eax, byte [ebp + ecx - 0x80]
add eax, edi
add ecx, eax
inc ecx
jmp 0x457a5d
add cl, 0x57
mov al, cl
and al, dh
add al, al
sub cl, al
sub cl, 0x61
add cl, dh
mov byte [ebp - 0x1f0], cl
jmp 0x457a5b
sub cl, 0x73
mov al, cl
and al, dh
add al, al
sub cl, al
add cl, 0x25
add cl, dh
mov byte [ebp - 0x1f0], cl
jmp 0x457a4f
mov esi, dword [ebp + 0x143bcba]
jmp 0x4582b7
mov esi, dword [ebp + 0x137e49f]
jmp 0x4582b7
mov esi, dword [ebp - 0x80]
mov edx, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
call fcn.00496750
mov eax, dword [ebp - 0x1fc]
imul eax, esi
push ecx
imul eax, dword [ebp - 0x208]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
movss dword [ebp - 0x210], xmm0
fld dword [ebp - 0x210]
fstp dword [esp]
call fcn.00497e4d
and dword [ebp - 0x214], 0
fstp dword [ebp - 0x210]
cvttss2si eax, dword [ebp - 0x210]
and dword [ebp - 0x210], 0
pop ecx
mov dword [ebp - 0x228], eax
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 0x1e
push eax
lea ecx, [ebp - 0x320]
call fcn.004603b8
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x1f
push ecx
mov ecx, eax
call fcn.00460409
mov ecx, eax
call fcn.00402dee
lea ecx, [ebp - 0x320]
call fcn.0040cbba
mov byte [ebp - 4], 0x13
mov ecx, dword [0x4cad30]
test ecx, ecx
jne 0x458420
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x200], ecx
cmp ecx, edx
je 0x4583fa
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4583fa
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, edx
sub ecx, 4
mov dword [ebp - 0x208], 0xfc330f7f
dec edi
mov dword [ebp - 0x210], ecx
mov esi, dword [ecx]
add esi, edx
mov dl, byte [esi]
inc esi
mov byte [ebp - 0x1f1], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x4583f6
mov cl, byte [ebp - 0x1f1]
movsx ecx, cl
xor ecx, dword [ebp - 0x208]
imul ecx, ecx, 0x1000193
mov dword [ebp - 0x208], ecx
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x4583c8
cmp dword [ebp - 0x208], 0x78a824f4
je 0x458401
mov ecx, dword [ebp - 0x210]
test edi, edi
jne 0x45839a
mov eax, dword [eax]
jmp 0x458375
mov eax, dword [ebp - 0x200]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov ecx, dword [ecx + eax*4]
add ecx, edx
mov dword [0x4cad30], ecx
xor eax, eax
lea edx, [ebp - 0x238]
push eax
push edx
push eax
push eax
call ecx
mov edx, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x238]
call fcn.00496700
mulsd xmm0, qword [0x4b6388]
push ecx
push ecx
movsd qword [esp], xmm0
call fcn.0047fc13
and dword [ebp - 0x214], 0
and dword [ebp - 0x210], 0
fstp qword [ebp - 0x230]
cvttsd2si eax, qword [ebp - 0x230]
pop ecx
pop ecx
mov dword [ebp - 0x22c], eax
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x374]
call fcn.0046043e
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x21
push ecx
mov ecx, eax
call fcn.0046048f
mov ecx, eax
call fcn.00402dee
lea ecx, [ebp - 0x374]
call fcn.0040cbba
mov byte [ebp - 4], 0x13
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x210], ecx
cmp ecx, edx
je 0x458fa4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x458fa4
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, edx
sub ecx, 4
mov dword [ebp - 0x208], 0xd6ef03e
mov dword [ebp - 0x200], ecx
dec edi
mov esi, dword [ecx]
add esi, edx
mov cl, byte [esi]
inc esi
mov byte [ebp - 0x1f1], cl
test cl, cl
mov ecx, dword [ebp - 0x200]
je 0x458f9c
mov cl, byte [ebp - 0x1f1]
movsx ecx, cl
xor ecx, dword [ebp - 0x208]
imul ecx, ecx, 0x1000193
mov dword [ebp - 0x208], ecx
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x458523
cmp dword [ebp - 0x208], 0xd99b2647
jne 0x458f96
mov eax, dword [ebp - 0x210]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x398]
add eax, edx
push ecx
call eax
and dword [ebp - 0x214], 0
and dword [ebp - 0x210], 0
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x22
push eax
lea ecx, [ebp - 0x344]
call fcn.004604c4
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x23
push ecx
mov ecx, eax
call fcn.00460515
mov ecx, eax
call fcn.00402dee
lea ecx, [ebp - 0x344]
call fcn.0040cbba
mov byte [ebp - 4], 0x13
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x210], ecx
lea ecx, [esi + edx]
mov dword [ebp - 0x210], ecx
cmp ecx, esi
je 0x458f8f
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x458f8f
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov dword [ebp - 0x208], 0x8c81c7f8
mov dword [ebp - 0x200], ecx
dec edi
mov edx, dword [ecx]
add edx, esi
mov cl, byte [edx]
inc edx
mov byte [ebp - 0x1f1], cl
test cl, cl
mov ecx, dword [ebp - 0x200]
je 0x458f87
mov cl, byte [ebp - 0x1f1]
movsx ecx, cl
xor ecx, dword [ebp - 0x208]
imul ecx, ecx, 0x1000193
mov dword [ebp - 0x208], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x458636
cmp dword [ebp - 0x208], 0xad648c7e
jne 0x458f81
mov eax, dword [ebp - 0x210]
push 0x1000
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, esi
call eax
and dword [ebp - 0x214], 0
and dword [ebp - 0x210], 0
mov dword [ebp - 0x218], eax
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 0x24
push eax
lea ecx, [ebp - 0x350]
call fcn.0046054a
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x25
push ecx
mov ecx, eax
call fcn.0046059b
mov ecx, eax
call fcn.00402dee
lea ecx, [ebp - 0x350]
call fcn.0040cbba
xor eax, eax
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x35c]
mov byte [ebp - 0x210], al
push dword [ebp - 0x210]
call fcn.004605d0
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x27
push ecx
mov ecx, eax
call fcn.0046061b
mov ecx, eax
call fcn.00402dee
lea ecx, [ebp - 0x35c]
call fcn.0040cbba
xor eax, eax
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x368]
mov byte [ebp - 0x210], al
push dword [ebp - 0x210]
call fcn.00460650
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x29
push ecx
mov ecx, eax
call fcn.0046069b
mov ecx, eax
call fcn.00402dee
lea ecx, [ebp - 0x368]
call fcn.0040cbba
xor eax, eax
mov byte [ebp - 0x219], al
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0x219]
mov byte [ebp - 4], 0x2a
push eax
lea ecx, [ebp - 0x2e4]
call fcn.004606d0
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x2b
push ecx
mov ecx, eax
call fcn.00460721
mov ecx, eax
call fcn.00402dee
lea ecx, [ebp - 0x2e4]
call fcn.0040cbba
mov byte [ebp - 4], 0x13
call fcn.00409e52
test al, al
je 0x45895c
mov eax, 0x98a
mov byte [ebp - 0xb6], 1
mov word [ebp - 0xdc], ax
lea edx, [eax + 2]
add eax, 0xd
mov word [ebp - 0xd8], ax
lea ecx, [edx - 0xc]
lea eax, [edx + 5]
mov word [ebp - 0xd0], cx
mov word [ebp - 0xd6], ax
add eax, 0x35
mov word [ebp - 0xd4], ax
lea eax, [edx - 8]
mov word [ebp - 0xd2], ax
add eax, 5
mov word [ebp - 0xcc], ax
lea eax, [edx + 0x40]
mov word [ebp - 0xc8], ax
add eax, 0xffffffbf
mov word [ebp - 0xc6], ax
lea eax, [edx + 3]
mov word [ebp - 0xc4], ax
add eax, 0xfffffff7
mov word [ebp - 0xc2], ax
lea eax, [edx + 0x10]
mov word [ebp - 0xc0], ax
add eax, 0xfffffff8
mov word [ebp - 0xbe], ax
lea eax, [edx + 0xa]
mov word [ebp - 0xbc], ax
add eax, 0x63
mov word [ebp - 0xba], ax
xor eax, eax
mov word [ebp - 0xca], cx
lea ecx, [ebp - 0xdc]
mov word [ebp - 0xda], dx
mov word [ebp - 0xce], dx
mov word [ebp - 0xb8], ax
call fcn.0045f9fe
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x210], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x210], ecx
cmp ecx, esi
je 0x458d24
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x458d24
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov dword [ebp - 0x208], 0x5740d857
mov dword [ebp - 0x200], ecx
dec edi
mov edx, dword [ecx]
add edx, esi
mov cl, byte [edx]
inc edx
mov byte [ebp - 0x1f1], cl
test cl, cl
mov ecx, dword [ebp - 0x200]
je 0x458d1c
mov cl, byte [ebp - 0x1f1]
movsx ecx, cl
xor ecx, dword [ebp - 0x208]
imul ecx, ecx, 0x1000193
mov dword [ebp - 0x208], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x45890d
cmp dword [ebp - 0x208], 0x2f5afd73
jne 0x458d16
mov eax, dword [ebp - 0x210]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0xdc]
add eax, esi
push ecx
call eax
pop ecx
call fcn.004551a6
lea eax, [ebp - 0x224]
mov dword [ebp - 0x1ec], 0x419deb
lea ecx, [ebp - 0x1d4]
mov dword [ebp - 0x1e8], 0x4198c8
push eax
lea edx, [ebp - 0x1ec]
mov dword [ebp - 0x274], ecx
push ecx
push edx
lea ecx, [ebp - 0x29c]
mov dword [ebp - 0x1e4], 0x40d6e0
mov dword [ebp - 0x1e0], 0x40d81a
mov dword [ebp - 0x1dc], 0x40de7b
mov dword [ebp - 0x1d8], 0x40db1c
mov dword [ebp - 0x278], edx
call fcn.0045fbfb
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x298]
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1f0], ecx
cmp eax, ecx
je 0x458d94
mov eax, dword [eax]
mov dword [ebp - 0x1fc], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x210], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x210], ecx
cmp ecx, esi
je 0x458d8d
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x458d8d
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov dword [ebp - 0x208], 0xd378ac10
mov dword [ebp - 0x200], ecx
dec edi
mov edx, dword [ecx]
add edx, esi
mov cl, byte [edx]
inc edx
mov byte [ebp - 0x1f1], cl
test cl, cl
mov ecx, dword [ebp - 0x200]
je 0x458d85
mov cl, byte [ebp - 0x1f1]
movsx ecx, cl
xor ecx, dword [ebp - 0x208]
imul ecx, ecx, 0x1000193
mov dword [ebp - 0x208], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x458a6e
cmp dword [ebp - 0x208], 0xdfc878e7
jne 0x458d7f
mov eax, dword [ebp - 0x210]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
xor ecx, ecx
push ecx
push ecx
push ecx
push dword [ebp - 0x1fc]
add eax, esi
push ecx
push ecx
call eax
add esp, 0x18
test eax, eax
jne 0x458c63
movaps xmm0, xmmword [0x4b6be0]
lea ecx, [ebp - 0xf8]
movups xmmword [ebp - 0xf8], xmm0
mov byte [ebp - 0xe8], 0xb7
mov byte [ebp - 0xe7], 0x92
mov byte [ebp - 0xe6], 0x84
mov byte [ebp - 0xe5], 0x83
mov byte [ebp - 0xe4], 0x87
mov byte [ebp - 0xe3], 0xc4
mov byte [ebp - 0xe2], 0xc8
mov byte [ebp - 0xe1], 0xc6
mov byte [ebp - 0xe0], 0xd6
mov byte [ebp - 0xdf], al
mov byte [ebp - 0xde], 1
call fcn.00412815
sub esp, 0x18
lea eax, [ebp - 0xf8]
mov ecx, esp
push eax
call fcn.0041437c
mov esi, 0x4c7b50
mov ecx, esi
call fcn.004672fb
lea ecx, [ebp - 0x1c]
mov byte [ebp - 0x1c], 0xfe
mov byte [ebp - 0x1b], 0xa8
mov byte [ebp - 0x1a], 0xe0
mov byte [ebp - 0x19], 0xe5
mov byte [ebp - 0x18], 0
mov byte [ebp - 0x17], 1
call fcn.004127dc
sub esp, 0x18
lea eax, [ebp - 0x1c]
mov ecx, esp
push eax
call fcn.0041437c
mov ecx, esi
call fcn.004672fb
mov ecx, 0x4c7b58
call fcn.00414142
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x1fc], ecx
mov edx, dword [ecx + 0x18]
mov eax, dword [edx + 0x3c]
mov edi, dword [eax + edx + 0x78]
mov eax, dword [eax + edx + 0x7c]
add edi, edx
mov dword [ebp - 0x208], eax
cmp edi, edx
je 0x458c3a
mov esi, dword [edi + 0x18]
test esi, esi
je 0x458c3a
mov eax, dword [edi + 0x20]
lea eax, [eax + esi*4]
add eax, edx
sub eax, 4
mov dword [ebp - 0x208], 0xe9b66990
mov dword [ebp - 0x200], eax
dec esi
mov ecx, dword [eax]
add ecx, edx
mov al, byte [ecx]
inc ecx
mov byte [ebp - 0x1f1], al
test al, al
mov eax, dword [ebp - 0x200]
je 0x458c36
mov al, byte [ebp - 0x1f1]
movsx eax, al
xor eax, dword [ebp - 0x208]
imul eax, eax, 0x1000193
mov dword [ebp - 0x208], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458c04
cmp dword [ebp - 0x208], 0x187c4120
je 0x458d2b
mov eax, dword [ebp - 0x200]
test esi, esi
jne 0x458bd3
mov eax, dword [ebp - 0x1fc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x1fc], eax
cmp eax, dword [ebp - 0x210]
je 0x458c5c
cmp dword [ecx + 0x18], 0
jne 0x458baa
xor eax, eax
push 0
call eax
pop ecx
mov eax, dword [0x4cad44]
test eax, eax
jne 0x458d61
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x210], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x210], ecx
cmp ecx, esi
je 0x458d0f
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x458d0f
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov dword [ebp - 0x208], 0x70a4b646
mov dword [ebp - 0x200], ecx
dec edi
mov edx, dword [ecx]
add edx, esi
mov cl, byte [edx]
inc edx
mov byte [ebp - 0x1f1], cl
test cl, cl
mov ecx, dword [ebp - 0x200]
je 0x458d0b
mov cl, byte [ebp - 0x1f1]
movsx ecx, cl
xor ecx, dword [ebp - 0x208]
imul ecx, ecx, 0x1000193
mov dword [ebp - 0x208], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x458cdd
cmp dword [ebp - 0x208], 0x6d167749
je 0x458d43
mov ecx, dword [ebp - 0x200]
test edi, edi
jne 0x458cac
mov eax, dword [eax]
jmp 0x458c7c
mov ecx, dword [ebp - 0x200]
test edi, edi
jne 0x4588d8
mov eax, dword [eax]
jmp 0x4588a0
mov eax, dword [edi + 0x24]
mov ecx, dword [edi + 0x1c]
add eax, edx
add ecx, edx
movzx eax, word [eax + esi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
jmp 0x458c5e
mov eax, dword [ebp - 0x210]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, esi
mov dword [0x4cad44], eax
push 1
call eax
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x1f0]
add eax, 4
mov dword [ebp - 0x1f8], eax
jmp 0x4589e5
mov ecx, dword [ebp - 0x200]
test edi, edi
jne 0x458a39
mov eax, dword [eax]
jmp 0x458a01
xor eax, eax
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x338]
mov byte [ebp - 0x210], al
push dword [ebp - 0x210]
call fcn.00460756
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x2e
push ecx
mov ecx, eax
call fcn.004607a1
mov ecx, eax
call fcn.00402dee
lea ecx, [ebp - 0x338]
call fcn.0040cbba
mov byte [ebp - 4], 0x2c
mov eax, dword [0x4cad40]
test eax, eax
jne 0x458ea8
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x200], ecx
cmp ecx, edx
je 0x458e83
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x458e83
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, edx
sub ecx, 4
mov dword [ebp - 0x208], 0x113aa445
dec edi
mov dword [ebp - 0x210], ecx
mov esi, dword [ecx]
add esi, edx
mov dl, byte [esi]
inc esi
mov byte [ebp - 0x1f1], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x458e7f
mov cl, byte [ebp - 0x1f1]
movsx ecx, cl
xor ecx, dword [ebp - 0x208]
imul ecx, ecx, 0x1000193
mov dword [ebp - 0x208], ecx
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x458e51
cmp dword [ebp - 0x208], 0x87d2a028
je 0x458e8a
mov ecx, dword [ebp - 0x210]
test edi, edi
jne 0x458e23
mov eax, dword [eax]
jmp 0x458dfe
mov eax, dword [ebp - 0x200]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
mov dword [0x4cad40], eax
push 0x15e
call eax
mov eax, dword [0x4cad50]
test eax, eax
jne 0x458ea8
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x210], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x210], ecx
cmp ecx, esi
je 0x458f57
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x458f57
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov dword [ebp - 0x208], 0xce604554
mov dword [ebp - 0x200], ecx
dec edi
mov edx, dword [ecx]
add edx, esi
mov cl, byte [edx]
inc edx
mov byte [ebp - 0x1f1], cl
test cl, cl
mov ecx, dword [ebp - 0x200]
je 0x458f53
mov cl, byte [ebp - 0x1f1]
movsx ecx, cl
xor ecx, dword [ebp - 0x208]
imul ecx, ecx, 0x1000193
mov dword [ebp - 0x208], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x458f25
cmp dword [ebp - 0x208], 0xd64fd317
je 0x458f5e
mov ecx, dword [ebp - 0x200]
test edi, edi
jne 0x458ef4
mov eax, dword [eax]
jmp 0x458ec4
mov eax, dword [ebp - 0x210]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, esi
mov dword [0x4cad50], eax
jmp 0x458ea8
mov ecx, dword [ebp - 0x200]
test edi, edi
jne 0x458601
mov eax, dword [eax]
jmp 0x4585c9
mov ecx, dword [ebp - 0x200]
test edi, edi
jne 0x4584ee
mov eax, dword [eax]
jmp 0x4584c1
mov ecx, dword [ebp - 0x208]
test edi, edi
jne 0x4564f3
mov eax, dword [eax]
jmp 0x4564c6
mov ecx, dword [ebp - 0x208]
test edi, edi
jne 0x45623a
mov eax, dword [eax]
jmp 0x45620d
mov ecx, dword [ebp - 0x208]
test edi, edi
jne 0x45613f
mov eax, dword [eax]
jmp 0x456107
mov ecx, dword [ebp - 0x208]
test edi, edi
jne 0x456043
mov eax, dword [eax]
jmp 0x45600b
mov ecx, dword [ebp - 0x208]
test edi, edi
jne 0x455f47
mov eax, dword [eax]
jmp 0x455f0f
mov ecx, dword [ebp - 0x208]
test edi, edi
jne 0x455e43
mov eax, dword [eax]
jmp 0x455e0b
mov ecx, dword [ebp - 0x208]
test edi, edi
jne 0x455d47
mov eax, dword [eax]
jmp 0x455d0f