Function at 0x100ad600
Capabilities:
Check for peb beingdebugged flag
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1016308d
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x101ed004]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x20], ebx
mov eax, dword [ebx + 8]
xorps xmm0, xmm0
add eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x24]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x1c]
sub eax, dword [ebx + 0x18]
mov dword [ebp - 0x60], ecx
add eax, 2
mov ecx, dword [ebx + 0x30]
push ecx
mov dword [ebp - 0x50], ecx
lea ecx, [ebp - 0x1c]
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x14], 0
push eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
call fcn.100b5520
mov dword [ebp - 4], 0
mov esi, 5
mov edx, dword [ebx + 0x6c]
mov ecx, 0x10
mov edi, dword [ebx + 0x70]
sub ecx, 8
cmp esi, edx
jge 0x100ad6a7
mov eax, 0x8915
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100ad696
mov edx, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x70]
add ebx, 0x54
mov dword [ebp - 0x2c], ebx
cmp esi, edx
jge 0x100ad6bf
mov byte [ecx + esi], bl
lea eax, [esi + 1]
cmp eax, edx
jge 0x100ad6cf
mov eax, ebx
shr eax, 8
mov byte [ecx + esi + 1], al
lea eax, [esi + 2]
cmp eax, edx
jge 0x100ad6df
mov eax, ebx
shr eax, 0x10
mov byte [ecx + esi + 2], al
lea eax, [esi + 3]
cmp eax, edx
jge 0x100ad6ef
mov eax, ebx
shr eax, 0x18
mov byte [ecx + esi + 3], al
mov ebx, dword [ebp - 0x20]
add esi, 4
mov ecx, 0x10
mov edx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
sub ecx, 8
cmp esi, edx
jge 0x100ad711
mov eax, 0x8935
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100ad700
mov edx, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x70]
add ebx, 0x58
mov dword [ebp - 0x28], ebx
cmp esi, edx
jge 0x100ad729
mov byte [ecx + esi], bl
lea eax, [esi + 1]
cmp eax, edx
jge 0x100ad739
mov eax, ebx
shr eax, 8
mov byte [ecx + esi + 1], al
lea eax, [esi + 2]
cmp eax, edx
jge 0x100ad749
mov eax, ebx
shr eax, 0x10
mov byte [ecx + esi + 2], al
lea eax, [esi + 3]
cmp eax, edx
jge 0x100ad759
mov eax, ebx
shr eax, 0x18
mov byte [ecx + esi + 3], al
mov ebx, dword [ebp - 0x20]
add esi, 4
mov ecx, 0x10
mov edx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
nop word [eax + eax]
sub ecx, 8
cmp esi, edx
jge 0x100ad781
mov eax, 0x893d
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100ad770
mov edx, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x70]
add ebx, 0x5c
mov dword [ebp - 0x58], ebx
cmp esi, edx
jge 0x100ad799
mov byte [ecx + esi], bl
lea eax, [esi + 1]
cmp eax, edx
jge 0x100ad7a9
mov eax, ebx
shr eax, 8
mov byte [ecx + esi + 1], al
lea eax, [esi + 2]
cmp eax, edx
jge 0x100ad7b9
mov eax, ebx
shr eax, 0x10
mov byte [ecx + esi + 2], al
lea eax, [esi + 3]
cmp eax, edx
jge 0x100ad7c9
mov eax, ebx
shr eax, 0x18
mov byte [ecx + esi + 3], al
mov ebx, dword [ebp - 0x20]
add esi, 4
mov ecx, 0x10
mov edx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
nop word [eax + eax]
sub ecx, 8
cmp esi, edx
jge 0x100ad7f1
mov eax, 0x892d
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100ad7e0
mov edx, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x70]
add ebx, 0x60
mov dword [ebp - 0x5c], ebx
cmp esi, edx
jge 0x100ad809
mov byte [ecx + esi], bl
lea eax, [esi + 1]
cmp eax, edx
jge 0x100ad819
mov eax, ebx
shr eax, 8
mov byte [ecx + esi + 1], al
lea eax, [esi + 2]
cmp eax, edx
jge 0x100ad829
mov eax, ebx
shr eax, 0x10
mov byte [ecx + esi + 2], al
lea eax, [esi + 3]
cmp eax, edx
jge 0x100ad839
mov eax, ebx
shr eax, 0x18
mov byte [ecx + esi + 3], al
mov ebx, dword [ebp - 0x20]
add esi, 4
mov ecx, 0x10
mov edx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
nop word [eax + eax]
sub ecx, 8
cmp esi, edx
jge 0x100ad861
mov eax, 0x891d
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100ad850
mov edx, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x70]
add ebx, 0x64
mov dword [ebp - 0x54], ebx
cmp esi, edx
jge 0x100ad879
mov byte [ecx + esi], bl
lea eax, [esi + 1]
cmp eax, edx
jge 0x100ad889
mov eax, ebx
shr eax, 8
mov byte [ecx + esi + 1], al
lea eax, [esi + 2]
cmp eax, edx
jge 0x100ad899
mov eax, ebx
shr eax, 0x10
mov byte [ecx + esi + 2], al
lea eax, [esi + 3]
cmp eax, edx
jge 0x100ad8a9
mov eax, ebx
shr eax, 0x18
mov byte [ecx + esi + 3], al
mov ebx, dword [ebp - 0x20]
add esi, 4
mov ecx, 0x18
mov edx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
nop word [eax + eax]
sub ecx, 8
cmp esi, edx
jge 0x100ad8d1
mov eax, 0x83c40c
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100ad8c0
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x70]
cmp esi, ecx
jge 0x100ad8ea
mov byte [edx + esi], 0x5b
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x70]
inc esi
cmp esi, ecx
jge 0x100ad8f9
mov byte [edx + esi], 0x5f
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x70]
inc esi
cmp esi, ecx
jge 0x100ad908
mov byte [edx + esi], 0x5e
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x70]
inc esi
cmp esi, ecx
jge 0x100ad917
mov byte [edx + esi], 0x5d
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x70]
inc esi
cmp esi, ecx
jge 0x100ad926
mov byte [edx + esi], 0xc3
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x70]
inc esi
mov dword [ebp - 0x64], esi
cmp esi, ecx
jge 0x100ad938
mov byte [edx + esi], 0xb8
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x70]
mov ebx, dword [ebx + 0x44]
inc esi
cmp esi, ecx
jge 0x100ad943
mov byte [edx + esi], bl
lea eax, [esi + 1]
cmp eax, ecx
jge 0x100ad953
mov eax, ebx
shr eax, 8
mov byte [edx + esi + 1], al
lea eax, [esi + 2]
cmp eax, ecx
jge 0x100ad963
mov eax, ebx
shr eax, 0x10
mov byte [edx + esi + 2], al
lea eax, [esi + 3]
cmp eax, ecx
jge 0x100ad971
shr ebx, 0x18
mov byte [edx + esi + 3], bl
mov ebx, dword [ebp - 0x20]
add esi, 4
mov ecx, 0x10
mov edx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
sub ecx, 8
cmp esi, edx
jge 0x100ad993
mov eax, 0x8b0d
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100ad982
mov edi, dword [ebx + 0x6c]
lea edx, [ebx + 0x50]
mov ecx, dword [ebx + 0x70]
cmp esi, edi
jge 0x100ad9a8
mov byte [ecx + esi], dl
lea eax, [esi + 1]
cmp eax, edi
jge 0x100ad9b8
mov eax, edx
shr eax, 8
mov byte [ecx + esi + 1], al
lea eax, [esi + 2]
cmp eax, edi
jge 0x100ad9c8
mov eax, edx
shr eax, 0x10
mov byte [ecx + esi + 2], al
lea eax, [esi + 3]
cmp eax, edi
jge 0x100ad9d8
mov eax, edx
shr eax, 0x18
mov byte [ecx + esi + 3], al
mov edi, dword [ebx + 0x6c]
add esi, 4
mov ebx, dword [ebx + 0x70]
mov ecx, 0x18
sub ecx, 8
cmp esi, edi
jge 0x100ad9f7
mov eax, 0x881408
shr eax, cl
mov byte [ebx + esi], al
inc esi
test ecx, ecx
jg 0x100ad9e6
mov ebx, dword [ebp - 0x20]
mov ecx, 0x10
mov edi, dword [ebx + 0x6c]
mov ebx, dword [ebx + 0x70]
nop word [eax + eax]
sub ecx, 8
cmp esi, edi
jge 0x100ada21
mov eax, 0xffc1
shr eax, cl
mov byte [ebx + esi], al
inc esi
test ecx, ecx
jg 0x100ada10
mov eax, dword [ebp - 0x20]
mov ecx, 0x10
mov edi, dword [eax + 0x6c]
mov ebx, dword [eax + 0x70]
sub ecx, 8
cmp esi, edi
jge 0x100ada45
mov eax, 0x890d
shr eax, cl
mov byte [ebx + esi], al
inc esi
test ecx, ecx
jg 0x100ada34
mov ebx, dword [ebp - 0x20]
mov edi, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x70]
cmp esi, edi
jge 0x100ada5a
mov byte [ecx + esi], dl
lea eax, [esi + 1]
cmp eax, edi
jge 0x100ada6a
mov eax, edx
shr eax, 8
mov byte [ecx + esi + 1], al
lea eax, [esi + 2]
cmp eax, edi
jge 0x100ada7a
mov eax, edx
shr eax, 0x10
mov byte [ecx + esi + 2], al
lea eax, [esi + 3]
cmp eax, edi
jge 0x100ada88
shr edx, 0x18
mov byte [ecx + esi + 3], dl
mov edx, dword [ebx + 0x6c]
add esi, 4
mov edi, dword [ebx + 0x70]
mov ecx, 0x10
sub ecx, 8
cmp esi, edx
jge 0x100adaa7
mov eax, 0x81f9
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100ada96
mov edi, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x70]
mov ecx, dword [ebx + 0x48]
cmp esi, edi
jge 0x100adabc
mov byte [edx + esi], cl
lea eax, [esi + 1]
cmp eax, edi
jge 0x100adacc
mov eax, ecx
shr eax, 8
mov byte [edx + esi + 1], al
lea eax, [esi + 2]
cmp eax, edi
jge 0x100adadc
mov eax, ecx
shr eax, 0x10
mov byte [edx + esi + 2], al
lea eax, [esi + 3]
cmp eax, edi
jge 0x100adaea
shr ecx, 0x18
mov byte [edx + esi + 3], cl
mov edx, dword [ebx + 0x6c]
add esi, 4
mov edi, dword [ebx + 0x70]
mov ecx, 0x10
sub ecx, 8
cmp esi, edx
jge 0x100adb09
mov eax, 0x7403
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100adaf8
mov edx, dword [ebx + 0x6c]
mov ecx, 0x10
mov edi, dword [ebx + 0x70]
nop dword [eax]
sub ecx, 8
cmp esi, edx
jge 0x100adb31
mov eax, 0x31c0
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100adb20
mov edx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
cmp esi, edx
jge 0x100adb4a
mov byte [edi + esi], 0xc3
mov edx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
inc esi
mov ecx, 0x18
sub ecx, 8
cmp esi, edx
jge 0x100adb61
mov eax, 0x83ec0c
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100adb50
mov edx, dword [ebx + 0x6c]
mov ecx, 0x20
mov edi, dword [ebx + 0x70]
sub ecx, 8
cmp esi, edx
jge 0x100adb82
mov eax, 0x89542404
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100adb71
mov edx, dword [ebx + 0x6c]
mov ecx, 0x18
mov edi, dword [ebx + 0x70]
sub ecx, 8
cmp esi, edx
jge 0x100adba3
mov eax, 0xc70424
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100adb92
mov edx, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x70]
cmp esi, edx
jge 0x100adbb5
mov byte [ecx + esi], bl
lea eax, [esi + 1]
cmp eax, edx
jge 0x100adbc5
mov eax, ebx
shr eax, 8
mov byte [ecx + esi + 1], al
lea eax, [esi + 2]
cmp eax, edx
jge 0x100adbd5
mov eax, ebx
shr eax, 0x10
mov byte [ecx + esi + 2], al
lea eax, [esi + 3]
cmp eax, edx
jge 0x100adbe5
mov eax, ebx
shr eax, 0x18
mov byte [ecx + esi + 3], al
mov edx, dword [ebx + 0x6c]
add esi, 4
mov edi, dword [ebx + 0x70]
cmp esi, edx
jge 0x100adbfc
mov byte [edi + esi], 0xb8
mov edx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
inc esi
mov ecx, 0x100ad540
cmp esi, edx
jge 0x100adc09
mov byte [edi + esi], cl
lea eax, [esi + 1]
cmp eax, edx
jge 0x100adc19
mov eax, ecx
shr eax, 8
mov byte [edi + esi + 1], al
lea eax, [esi + 2]
cmp eax, edx
jge 0x100adc29
mov eax, ecx
shr eax, 0x10
mov byte [edi + esi + 2], al
lea eax, [esi + 3]
cmp eax, edx
jge 0x100adc37
shr ecx, 0x18
mov byte [edi + esi + 3], cl
mov edx, dword [ebx + 0x6c]
add esi, 4
mov edi, dword [ebx + 0x70]
mov ecx, 0x10
sub ecx, 8
cmp esi, edx
jge 0x100adc56
mov eax, 0xffd0
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100adc45
mov edx, dword [ebx + 0x6c]
mov ecx, 0x20
mov edi, dword [ebx + 0x70]
sub ecx, 8
cmp esi, edx
jge 0x100adc77
mov eax, 0x8b542404
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100adc66
mov edx, dword [ebx + 0x6c]
mov ecx, 0x18
mov edi, dword [ebx + 0x70]
sub ecx, 8
cmp esi, edx
jge 0x100adc98
mov eax, 0x83c40c
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100adc87
mov eax, dword [ebx + 0x70]
cmp esi, dword [ebx + 0x6c]
jge 0x100adca9
mov byte [esi + eax], 0xc3
mov edi, dword [ebp - 0x1c]
inc esi
mov ebx, dword [ebp - 0x34]
mov dword [ebp - 0x3c], esi
mov dword [edi], 2
nop dword [eax]
xor edx, edx
mov dword [ebp - 0x30], edx
test ebx, ebx
jle 0x100ade3d
mov ecx, dword [ebp - 0x40]
mov eax, edi
mov ebx, ecx
mov dword [ebp - 0x44], eax
not ebx
mov dword [ebp - 0x38], ebx
lea esi, [ecx + 1]
nop
cmp dword [eax], 0
mov bl, byte [esi - 1]
movzx edi, bl
je 0x100ade1a
cmp bl, 0xff
jne 0x100adcfb
mov eax, 3
jmp 0x100add33
mov eax, edi
and eax, 7
cmp eax, 7
jne 0x100add0c
mov eax, 2
jmp 0x100add33
cmp bl, 0x33
jae 0x100add2e
dec eax
cdq
sub eax, edx
sar eax, 1
jne 0x100add2e
mov eax, 1
nop
cmp byte [eax + esi - 1], bl
jne 0x100add33
inc eax
cmp eax, 0x7f
jl 0x100add20
jmp 0x100add33
mov eax, 1
mov edx, dword [ebp - 0x38]
add edx, esi
add edx, eax
test bl, bl
je 0x100add71
cmp edi, 0x78
jb 0x100add48
cmp edi, 0x7f
jbe 0x100add71
cmp edi, 0xf0
jb 0x100add58
cmp edi, 0xfe
jbe 0x100add71
cmp edi, 0x3a
je 0x100add71
cmp edi, 0x40
jae 0x100add76
mov eax, edi
and eax, 7
cmp eax, 5
je 0x100add71
cmp eax, 6
jne 0x100add76
mov edx, SysReAllocStringLen
xor ecx, ecx
cmp edi, 0x38
jne 0x100add84
mov edx, SysReAllocStringLen
jmp 0x100addc0
mov eax, SysReAllocStringLen
cmovne ecx, eax
cmp edi, 0xff
jne 0x100adda2
movzx ecx, byte [esi + 1]
mov edx, eax
movzx eax, byte [esi]
shl ecx, 8
jmp 0x100addbe
cmp edi, 0x27
je 0x100addb3
mov eax, edx
cmp edi, 0x2f
je 0x100addb3
cmp edi, 0x3f
jne 0x100addc0
mov ecx, dword [ebp - 0x38]
movsx eax, byte [esi]
add ecx, 2
add ecx, esi
add ecx, eax
cmp bl, 0x3f
mov eax, SysReAllocStringLen
mov ebx, dword [ebp - 0x34]
cmove edx, eax
test ecx, ecx
js 0x100addd6
cmp ecx, ebx
jl 0x100adddd
cmp ecx, eax
je 0x100adddd
lea ecx, [ebx - 1]
mov edi, dword [ebp - 0x1c]
test edx, edx
js 0x100addfe
cmp edx, ebx
jge 0x100addfe
mov eax, dword [edi + edx*4]
test al, 1
jne 0x100addfe
or eax, 1
mov dword [edi + edx*4], eax
mov edx, dword [ebp - 0x30]
inc edx
mov dword [ebp - 0x30], edx
jmp 0x100ade01
mov edx, dword [ebp - 0x30]
test ecx, ecx
js 0x100ade1a
cmp ecx, ebx
jge 0x100ade1a
mov eax, dword [edi + ecx*4]
test al, 2
jne 0x100ade1a
or eax, 2
inc edx
mov dword [edi + ecx*4], eax
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x38]
inc esi
add dword [ebp - 0x44], 4
add eax, esi
mov ebx, dword [ebp - 0x34]
cmp eax, ebx
mov eax, dword [ebp - 0x44]
jl 0x100adce0
mov edi, dword [ebp - 0x1c]
test edx, edx
jg 0x100adcc0
mov esi, dword [ebp - 0x3c]
xor ecx, ecx
test ebx, ebx
jle 0x100ae01a
mov esi, dword [ebp - 0x34]
jmp 0x100ade53
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x40]
lea eax, [ecx + 1]
mov dword [ebp - 0x48], eax
lea edi, [edi + ecx*4]
xor ebx, ebx
mov dword [ebp - 0x44], edi
movzx edx, byte [edx + eax - 1]
mov eax, edx
and eax, 7
cmp al, 7
mov eax, dword [ebp - 0x40]
sete bl
inc ebx
add ebx, ecx
cmp dword [edi], 0
mov dword [ebp - 0x4c], ebx
mov bl, byte [ebx + eax]
je 0x100ae00c
lea eax, [edx - 0xd8]
cmp eax, 0x17
ja 0x100ae00c
cmp bl, 0x27
je 0x100adea5
cmp bl, 0x2f
jne 0x100ae00c
mov ebx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x1c]
cmp dword [edi + ebx*4], 1
jne 0x100ae00c
cmp ebx, dword [ebp - 0x48]
je 0x100adec5
cmp dword [edi + ecx*4 + 4], 0
jne 0x100ae00c
lea eax, [edx - 0xd0]
cdq
and edx, 7
add eax, edx
sar eax, 3
shl eax, 2
xor edx, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x38], edx
lea ecx, [eax + 1]
mov dword [edi + ebx*4], ecx
test eax, eax
je 0x100ae007
cmp edx, 1
lea ecx, [ebx + 2]
mov edx, dword [ebp - 0x40]
jne 0x100adf05
movsx ecx, byte [edx + ebx + 1]
mov eax, dword [ebp - 0x24]
add ecx, 2
add ecx, ebx
xor ebx, ebx
test eax, eax
je 0x100adff2
test ecx, ecx
js 0x100adff2
cmp ecx, esi
jge 0x100adff2
movzx eax, byte [ecx + edx]
lea edi, [ecx + edx]
cmp eax, 0x27
je 0x100adfdf
cmp eax, 0x2f
je 0x100adfdf
cmp eax, 0xd8
jb 0x100adf4a
cmp eax, 0xf0
jb 0x100adfef
test eax, eax
je 0x100adfef
cmp eax, 0x78
jb 0x100adf60
cmp eax, 0x7f
jbe 0x100adfef
cmp eax, 0xf0
jb 0x100adf72
cmp eax, 0xfe
jbe 0x100adfef
cmp eax, 0x3a
je 0x100adfef
mov edx, eax
and edx, 7
cmp eax, 0x40
jae 0x100adfa1
cmp edx, 5
je 0x100adfef
cmp edx, 6
je 0x100adfef
cmp eax, 0x3f
jne 0x100adfbd
movsx eax, byte [edi + 1]
mov edx, dword [ebp - 0x40]
add eax, 2
add ecx, eax
mov eax, dword [ebp - 0x24]
jmp 0x100adfe4
cmp eax, 0xff
jne 0x100adf8b
movzx ecx, byte [edi + 2]
movzx eax, byte [edi + 1]
mov edx, dword [ebp - 0x40]
shl ecx, 8
add ecx, eax
mov eax, dword [ebp - 0x24]
jmp 0x100adfe4
cmp eax, 0x38
jne 0x100adfcc
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov edx, dword [ebp - 0x40]
jmp 0x100adfe4
xor eax, eax
cmp edx, 7
mov edx, dword [ebp - 0x40]
sete al
inc eax
add ecx, eax
mov eax, dword [ebp - 0x24]
jmp 0x100adfe4
xor eax, eax
mov dword [ebp - 0x24], eax
inc ebx
cmp ebx, esi
jl 0x100adf07
jmp 0x100adff2
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x4c]
inc ecx
mov dword [ebp - 0x38], ecx
mov edx, ecx
cmp ecx, 2
jl 0x100adee5
mov ecx, dword [ebp - 0x44]
add dword [ecx], eax
mov ecx, dword [ebp - 0x48]
cmp ecx, esi
jl 0x100ade50
mov esi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x68], esi
mov edx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
cmp esi, edx
jge 0x100ae034
mov byte [edi + esi], 0x55
mov edx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
inc esi
cmp esi, edx
jge 0x100ae043
mov byte [edi + esi], 0x56
mov edx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
inc esi
cmp esi, edx
jge 0x100ae052
mov byte [edi + esi], 0x57
mov edx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
inc esi
cmp esi, edx
jge 0x100ae061
mov byte [edi + esi], 0x53
mov edx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
inc esi
mov ecx, 0x18
sub ecx, 8
cmp esi, edx
jge 0x100ae078
mov eax, 0x83ec0c
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100ae067
mov edx, dword [ebx + 0x6c]
mov ecx, 0x10
mov edi, dword [ebx + 0x70]
sub ecx, 8
cmp esi, edx
jge 0x100ae099
mov eax, 0x8b15
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100ae088
mov edx, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x70]
mov ebx, dword [ebp - 0x2c]
cmp esi, edx
jge 0x100ae0ae
mov byte [ecx + esi], bl
lea eax, [esi + 1]
cmp eax, edx
jge 0x100ae0be
mov eax, ebx
shr eax, 8
mov byte [ecx + esi + 1], al
lea eax, [esi + 2]
cmp eax, edx
jge 0x100ae0ce
mov eax, ebx
shr eax, 0x10
mov byte [ecx + esi + 2], al
lea eax, [esi + 3]
cmp eax, edx
jge 0x100ae0dc
shr ebx, 0x18
mov byte [ecx + esi + 3], bl
mov ebx, dword [ebp - 0x20]
add esi, 4
mov ecx, 0x10
mov edx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
nop dword [eax]
sub ecx, 8
cmp esi, edx
jge 0x100ae101
mov eax, 0x8b35
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100ae0f0
mov edx, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x70]
mov ebx, dword [ebp - 0x28]
cmp esi, edx
jge 0x100ae116
mov byte [ecx + esi], bl
lea eax, [esi + 1]
cmp eax, edx
jge 0x100ae126
mov eax, ebx
shr eax, 8
mov byte [ecx + esi + 1], al
lea eax, [esi + 2]
cmp eax, edx
jge 0x100ae136
mov eax, ebx
shr eax, 0x10
mov byte [ecx + esi + 2], al
lea eax, [esi + 3]
cmp eax, edx
jge 0x100ae144
shr ebx, 0x18
mov byte [ecx + esi + 3], bl
mov ebx, dword [ebp - 0x20]
add esi, 4
mov ecx, 0x10
mov edx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
sub ecx, 8
cmp esi, edx
jge 0x100ae166
mov eax, 0x8b3d
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100ae155
mov edx, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x70]
mov ebx, dword [ebp - 0x58]
cmp esi, edx
jge 0x100ae17b
mov byte [ecx + esi], bl
lea eax, [esi + 1]
cmp eax, edx
jge 0x100ae18b
mov eax, ebx
shr eax, 8
mov byte [ecx + esi + 1], al
lea eax, [esi + 2]
cmp eax, edx
jge 0x100ae19b
mov eax, ebx
shr eax, 0x10
mov byte [ecx + esi + 2], al
lea eax, [esi + 3]
cmp eax, edx
jge 0x100ae1a9
shr ebx, 0x18
mov byte [ecx + esi + 3], bl
mov ebx, dword [ebp - 0x20]
add esi, 4
mov ecx, 0x10
mov edx, dword [ebx + 0x6c]
mov edi, dword [ebx + 0x70]
nop word [eax + eax]
sub ecx, 8
cmp esi, edx
jge 0x100ae1d1
mov eax, 0x8b2d
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100ae1c0
mov edx, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x70]
mov ebx, dword [ebp - 0x5c]
cmp esi, edx
jge 0x100ae1e6
mov byte [ecx + esi], bl
lea eax, [esi + 1]
cmp eax, edx
jge 0x100ae1f6
mov eax, ebx
shr eax, 8
mov byte [ecx + esi + 1], al
lea eax, [esi + 2]
cmp eax, edx
jge 0x100ae206
mov eax, ebx
shr eax, 0x10
mov byte [ecx + esi + 2], al
lea eax, [esi + 3]
cmp eax, edx
jge 0x100ae214
shr ebx, 0x18
mov byte [ecx + esi + 3], bl
mov eax, dword [ebp - 0x20]
add esi, 4
mov ecx, 0x10
mov edx, dword [eax + 0x6c]
mov edi, dword [eax + 0x70]
sub ecx, 8
cmp esi, edx
jge 0x100ae236
mov eax, 0x8b1d
shr eax, cl
mov byte [edi + esi], al
inc esi
test ecx, ecx
jg 0x100ae225
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x54]
mov edx, dword [edi + 0x6c]
mov ecx, dword [edi + 0x70]
cmp esi, edx
jge 0x100ae24e
mov byte [ecx + esi], bl
lea eax, [esi + 1]
cmp eax, edx
jge 0x100ae25e
mov eax, ebx
shr eax, 8
mov byte [ecx + esi + 1], al
lea eax, [esi + 2]
cmp eax, edx
jge 0x100ae26e
mov eax, ebx
shr eax, 0x10
mov byte [ecx + esi + 2], al
lea eax, [esi + 3]
cmp eax, edx
jge 0x100ae27c