Function at 0x5dda70
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x6d2606
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe0
push ebx
push ebp
push esi
push edi
mov eax, dword [0x720fec]
mov ecx, dword [0x720ff0]
mov edx, dword [0x720ff4]
mov dword [esp + 0x5c], eax
mov eax, dword [0x720fdc]
mov dword [esp + 0x60], ecx
mov ecx, dword [0x720fe0]
mov dword [esp + 0x3c], eax
mov ax, word [0x720fe8]
mov dword [esp + 0x64], edx
mov edx, dword [0x720fe4]
mov word [esp + 0x48], ax
mov al, 0xe2
xor edi, edi
mov byte [esp + 0x51], al
mov byte [esp + 0x52], al
mov dword [esp + 0x40], ecx
mov al, 0xe1
xor esi, esi
lea ecx, [esp + 0xa8]
mov dword [esp + 0xf8], edi
mov dword [esp + 0x44], edx
mov byte [esp + 0x34], 0x15
mov byte [esp + 0x35], 0x13
mov byte [esp + 0x36], 0x14
mov byte [esp + 0x37], 0x10
mov byte [esp + 0x38], 0x12
mov byte [esp + 0x39], 0
mov byte [esp + 0x4c], 6
mov byte [esp + 0x4d], 8
mov byte [esp + 0x4e], 9
mov byte [esp + 0x4f], 1
mov byte [esp + 0x50], 3
mov byte [esp + 0x53], al
mov byte [esp + 0x54], al
mov dword [esp + 0x30], esi
call fcn.0061aaa0
lea ecx, [esp + 0x28]
mov byte [esp + 0xf8], 1
call fcn.0061d780
lea ecx, [esp + 0xcc]
mov byte [esp + 0xf8], 2
call fcn.005548f0
mov cl, byte [esp + 0x17]
mov dword [esp + 0x1c], edi
mov byte [esp + 0x18], cl
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
push 5
lea ecx, [esp + 0x108]
mov byte [esp + 0xfc], 4
call fcn.0061daa0
push ecx
mov bl, al
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x713764
mov byte [esp + 0x38], bl
call fcn.0061d820
lea edx, [esp + 0x6c]
push edx
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0xf8], 5
push ecx
push edi
push eax
lea ecx, [esp + 0x24]
call fcn.004136c0
mov eax, dword [esp + 0x6c]
mov byte [esp + 0xf8], 4
cmp eax, edi
je 0x5ddbf6
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5ddbed
cmp al, 0xff
je 0x5ddbed
dec al
mov byte [ecx], al
jmp 0x5ddbf6
push ecx
call fcn.006a64d0
add esp, 4
mov al, byte [esp + 0x100]
test al, al
jne 0x5ddfbb
test bl, bl
jbe 0x5de7f5
cmp bl, 5
ja 0x5de7f5
mov ebx, dword [esp + 0x2c]
push ecx
lea edx, [esp + 0x108]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0061d790
mov ecx, dword [0x72baec]
call fcn.0062e250
cmp si, di
je 0x5dddda
mov al, byte [0x72bd0c]
test al, al
je 0x5ddc60
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 1
push 0x713848
call fcn.0061d820
jmp 0x5ddca0
sub esp, 0x24
lea ecx, [esp + 0x80]
mov eax, esp
mov dword [esp + 0x34], esp
push 1
push ecx
push eax
lea ecx, [esp + 0xfc]
call fcn.00555a50
lea ecx, [esp + 0xcc]
call fcn.0061ac40
push ecx
lea ecx, [esp + 0xac]
mov edx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0061afb0
lea ecx, [esp + 0x2c]
call fcn.0061dab0
lea ecx, [esp + 0x28]
call fcn.0061dc40
test ax, ax
jle 0x5ddeef
cmp si, 1
jne 0x5ddd4c
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x713784
call fcn.0061d820
lea eax, [esp + 0x50]
push eax
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0xf8], 6
push ecx
push edi
push eax
lea ecx, [esp + 0x24]
call fcn.004136c0
mov eax, dword [esp + 0x50]
mov byte [esp + 0xf8], 4
cmp eax, edi
je 0x5ddd3b
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5ddd32
cmp al, 0xff
je 0x5ddd32
dec al
mov byte [ecx], al
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
jmp 0x5dddd8
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
jmp 0x5dddd8
cmp si, 2
jne 0x5dddd8
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x71377c
call fcn.0061d820
lea edx, [esp + 0x9c]
push edx
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0xf8], 7
push ecx
push edi
push eax
lea ecx, [esp + 0x24]
call fcn.004136c0
mov eax, dword [esp + 0x9c]
mov byte [esp + 0xf8], 4
cmp eax, edi
je 0x5dddc3
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5dddba
cmp al, 0xff
je 0x5dddba
dec al
mov byte [ecx], al
jmp 0x5dddc3
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], edi
xor esi, esi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713784
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x71377c
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713774
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
mov dl, byte [esp + 0x18]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x20], esp
mov byte [ecx], dl
mov dword [ecx + 4], edi
mov dword [ecx + 8], edi
mov dword [ecx + 0xc], edi
mov eax, dword [0x6dd1fc]
lea edx, [esp + 0x28]
push eax
push edi
push edx
call fcn.004136c0
push ecx
mov byte [esp + 0x10c], 9
mov ecx, esp
mov dword [esp + 0x44], esp
push 6
push 0x71379c
call fcn.0061d820
mov ecx, dword [0x72baec]
mov byte [esp + 0x10c], 4
call fcn.0062e450
mov ecx, dword [0x72baec]
call fcn.0062e830
movsx eax, ax
sub eax, edi
je 0x5dded0
dec eax
je 0x5ddeb2
dec eax
je 0x5de7f5
jmp 0x5ddc1a
mov eax, ebx
mov byte [esp + 0x64], 0
and eax, 0xff
mov esi, 2
mov cl, byte [esp + eax + 0x33]
mov byte [esp + 0x62], cl
jmp 0x5ddc1a
mov edx, ebx
mov byte [esp + 0x64], 0xff
and edx, 0xff
mov esi, 1
mov al, byte [esp + edx + 0x33]
mov byte [esp + 0x62], al
jmp 0x5ddc1a
push edi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x7137f4
call fcn.0061d820
push ecx
mov byte [esp + 0x108], 8
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x713840
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x108], 4
call fcn.0061ef70
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x5ddf57
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5ddf4e
cmp al, 0xff
je 0x5ddf4e
dec al
mov byte [ecx], al
jmp 0x5ddf57
push ecx
call fcn.006a64d0
add esp, 4
lea ecx, [esp + 0xcc]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov byte [esp + 0xf8], 2
call fcn.005549b0
lea ecx, [esp + 0x28]
mov byte [esp + 0xf8], 1
call fcn.0061d8c0
lea ecx, [esp + 0xa8]
mov byte [esp + 0xf8], 0
call fcn.0061ab90
lea ecx, [esp + 0x104]
mov dword [esp + 0xf8], 0xffffffff
call fcn.0061d8c0
xor ax, ax
jmp 0x5de87a
cmp al, 1
jne 0x5de7f5
test bl, bl
jbe 0x5de7f5
cmp bl, 9
ja 0x5de7f5
mov byte [esp + 0x17], 0
push ecx
lea edx, [esp + 0x108]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0061d790
mov ecx, dword [0x72baec]
call fcn.0062e250
mov esi, dword [esp + 0x30]
xor ebp, ebp
cmp si, bp
je 0x5de451
mov al, byte [0x72bd0c]
test al, al
je 0x5de025
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 1
push 0x713848
call fcn.0061d820
jmp 0x5de062
sub esp, 0x24
lea ecx, [esp + 0x60]
mov eax, esp
mov dword [esp + 0x34], esp
push 1
push ecx
push eax
lea ecx, [esp + 0xfc]
call fcn.00555a50
lea ecx, [esp + 0xcc]
call fcn.0061ac40
push ecx
lea ecx, [esp + 0xac]
mov edx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0061afb0
lea ecx, [esp + 0x2c]
call fcn.0061dab0
lea ecx, [esp + 0x28]
call fcn.0061dc40
test ax, ax
jle 0x5de6f4
cmp si, 1
jne 0x5de1c0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x713784
call fcn.0061d820
lea eax, [esp + 0x8c]
push eax
call fcn.0061ca80
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [0x6dd1fc]
mov ebx, eax
mov byte [esp + 0xf8], 0xa
cmp ecx, ebx
jae 0x5de0c5
mov ebx, ecx
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x5de0e8
push ecx
push ebx
lea ecx, [esp + 0x20]
call fcn.004140f0
push ebp
push ebp
lea ecx, [esp + 0x20]
call fcn.004140f0
jmp 0x5de171
cmp ebx, ebp
jbe 0x5de135
cmp ebx, eax
jne 0x5de135
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5de0fc
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5de135
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5de119
mov eax, 0x6dd1f8
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x20], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x24], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5de171
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414230
test al, al
je 0x5de171
mov esi, dword [esi + 4]
cmp esi, ebp
jne 0x5de151
mov esi, 0x6dd1f8
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], ebx
mov byte [ecx + ebx], 0
mov eax, dword [esp + 0x8c]
mov byte [esp + 0xf8], 4
cmp eax, ebp
je 0x5de1a1
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5de198
cmp al, 0xff
je 0x5de198
dec al
mov byte [ecx], al
jmp 0x5de1a1
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], ebp
mov byte [esp + 0x17], 0
jmp 0x5de44d
cmp si, 2
jne 0x5de2fa
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x71377c
call fcn.0061d820
lea edx, [esp + 0x7c]
push edx
call fcn.0061ca80
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [0x6dd1fc]
mov ebx, eax
mov byte [esp + 0xf8], 0xb
cmp ecx, ebx
jae 0x5de205
mov ebx, ecx
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x5de228
push ecx
push ebx
lea ecx, [esp + 0x20]
call fcn.004140f0
push ebp
push ebp
lea ecx, [esp + 0x20]
call fcn.004140f0
jmp 0x5de2b1
cmp ebx, ebp
jbe 0x5de275
cmp ebx, eax
jne 0x5de275
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5de23c
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5de275
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5de259
mov eax, 0x6dd1f8
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x20], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x24], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5de2b1
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414230
test al, al
je 0x5de2b1
mov esi, dword [esi + 4]
cmp esi, ebp
jne 0x5de291
mov esi, 0x6dd1f8
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], ebx
mov byte [ecx + ebx], 0
mov eax, dword [esp + 0x7c]
mov byte [esp + 0xf8], 4
cmp eax, ebp
je 0x5de2de
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5de2d5
cmp al, 0xff
je 0x5de2d5
dec al
mov byte [ecx], al
jmp 0x5de2de
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], ebp
mov byte [esp + 0x17], 0
jmp 0x5de44d
cmp si, 3
jne 0x5de44d
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x713764
call fcn.0061d820
lea edx, [esp + 0x6c]
push edx
call fcn.0061ca80
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [0x6dd1fc]
mov ebx, eax
mov byte [esp + 0xf8], 0xc
cmp ecx, ebx
jae 0x5de33f
mov ebx, ecx
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x5de362
push ecx
push ebx
lea ecx, [esp + 0x20]
call fcn.004140f0
push ebp
push ebp
lea ecx, [esp + 0x20]
call fcn.004140f0
jmp 0x5de40f
cmp ebx, ebp
jbe 0x5de3d5
cmp ebx, eax
jne 0x5de3d5
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5de376
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5de3d5
mov eax, dword [esp + 0x1c]
cmp eax, ebp
je 0x5de3a1
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5de398
cmp al, 0xff
je 0x5de398
dec al
mov byte [ecx], al
jmp 0x5de3a1
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5de3b9
mov eax, 0x6dd1f8
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x20], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x24], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5de40f
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414230
test al, al
je 0x5de40f
mov esi, dword [esi + 4]
cmp esi, ebp
jne 0x5de3f1
mov esi, 0x6dd1f8
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00414210
mov eax, dword [esp + 0x6c]
mov byte [esp + 0xf8], 4
cmp eax, ebp
je 0x5de43c
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5de433
cmp al, 0xff
je 0x5de433
dec al
mov byte [ecx], al
jmp 0x5de43c
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebp
mov byte [esp + 0x17], 1
mov dword [esp + 0x30], ebp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713784
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x71377c
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713774
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
mov cl, byte [esp + 0x18]
sub esp, 0x10
mov ebp, esp
xor edi, edi
mov dword [esp + 0x20], esp
mov byte [ebp], cl
mov dword [ebp + 4], edi
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edi
mov eax, dword [esp + 0x30]
mov esi, dword [0x6dd1fc]
mov ebx, eax
cmp esi, ebx
jae 0x5de4de
mov ebx, esi
lea edx, [esp + 0x28]
cmp ebp, edx
jne 0x5de542
cmp ebx, edi
jbe 0x5de4ef
call fcn.006a6707
mov ecx, ebp
call fcn.00414b70
mov eax, dword [ebp + 8]
sub eax, ebx
cmp eax, esi
jae 0x5de501
mov esi, eax
cmp esi, edi
jbe 0x5de534
mov ecx, dword [ebp + 4]
sub eax, esi
add ebx, ecx
push eax
lea ecx, [esi + ebx]
push ecx
push ebx
call fcn.006a6c70
mov ebx, dword [ebp + 8]
add esp, 0xc
sub ebx, esi
mov ecx, ebp
push edi
push ebx
call fcn.00414230
test al, al
je 0x5de534
push ebx
mov ecx, ebp
call fcn.00414210
push edi
push edi
mov ecx, ebp
call fcn.004140f0
jmp 0x5de5c6
cmp ebx, edi
jbe 0x5de58e
cmp ebx, eax
jne 0x5de58e
mov eax, dword [esp + 0x2c]
cmp eax, edi
jne 0x5de557
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5de58e
push 1
mov ecx, ebp
call fcn.004138c0
mov eax, dword [esp + 0x2c]
cmp eax, edi
jne 0x5de573
mov eax, 0x6dd1f8
mov dword [ebp + 4], eax
mov edx, dword [esp + 0x30]
mov dword [ebp + 8], edx
mov ecx, dword [esp + 0x34]
mov dword [ebp + 0xc], ecx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5de5c6
push 1
push ebx
mov ecx, ebp
call fcn.00414230
test al, al
je 0x5de5c6
mov esi, dword [esp + 0x2c]
cmp esi, edi
jne 0x5de5a9
mov esi, 0x6dd1f8
mov edi, dword [ebp + 4]
mov ecx, ebx
mov edx, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebp
call fcn.00414210
xor edi, edi
push ecx
mov byte [esp + 0x10c], 0xe
mov ecx, esp
mov dword [esp + 0x48], esp
push 6
push 0x71379c
call fcn.0061d820
mov ecx, dword [0x72baec]
mov byte [esp + 0x10c], 4
call fcn.0062e450
mov ecx, dword [0x72baec]
call fcn.0062e830
movsx eax, ax
sub eax, edi
je 0x5de68e
dec eax
je 0x5de651
dec eax
jne 0x5ddfd9
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x43], 0
and eax, 0xff
mov cl, byte [esp + eax + 0x4b]
mov al, byte [esp + 0x17]
mov byte [esp + 0x42], cl
mov cl, byte [esp + 0x2c]
cmp cl, 9
sete dl
test al, al
mov byte [esp + 0x44], dl
jne 0x5de7c0
mov dword [esp + 0x30], 3
jmp 0x5ddfd9
mov eax, dword [esp + 0x2c]
and eax, 0xff
mov cl, byte [esp + eax + 0x4b]
mov al, byte [esp + 0x2c]
cmp al, 8
mov byte [esp + 0x42], cl
je 0x5de673
cmp al, 9
mov byte [esp + 0x43], 7
jne 0x5de678
mov byte [esp + 0x43], 0
cmp al, 9
mov dword [esp + 0x30], 2
sete dl
mov byte [esp + 0x44], dl
jmp 0x5ddfd9
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x43], 7
and eax, 0xff
mov cl, byte [esp + eax + 0x4b]
mov al, byte [esp + 0x2c]
cmp al, 6
mov byte [esp + 0x42], cl
je 0x5de6e2
cmp al, 9
je 0x5de6e2
cmp al, 7
jne 0x5de6c6
mov byte [esp + 0x44], 2
mov dword [esp + 0x30], 1
jmp 0x5ddfd9
sub al, 8
mov dword [esp + 0x30], 1
neg al
sbb al, al
and eax, 0xff
mov byte [esp + 0x44], al
jmp 0x5ddfd9
mov byte [esp + 0x44], 1
mov dword [esp + 0x30], 1
jmp 0x5ddfd9
push ebp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x7137f4
call fcn.0061d820
push ecx
mov byte [esp + 0x108], 0xd
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x713840
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x108], 4
call fcn.0061ef70
mov eax, dword [esp + 0x1c]
cmp eax, ebp
je 0x5de75c
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5de753
cmp al, 0xff
je 0x5de753
dec al
mov byte [ecx], al
jmp 0x5de75c
push ecx
call fcn.006a64d0
add esp, 4
lea ecx, [esp + 0xcc]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov byte [esp + 0xf8], 2
call fcn.005549b0
lea ecx, [esp + 0x28]
mov byte [esp + 0xf8], 1
call fcn.0061d8c0
lea ecx, [esp + 0xa8]
mov byte [esp + 0xf8], 0
call fcn.0061ab90
lea ecx, [esp + 0x104]
mov dword [esp + 0xf8], 0xffffffff
call fcn.0061d8c0
xor ax, ax
jmp 0x5de87a
mov eax, dword [esp + 0x1c]
xor esi, esi
cmp eax, esi
je 0x5de7e7
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5de7de
cmp al, 0xff
je 0x5de7de
dec al
mov byte [ecx], al
jmp 0x5de7e7
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
jmp 0x5de826
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x5de81a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5de811
cmp al, 0xff
je 0x5de811
dec al
mov byte [ecx], al
jmp 0x5de81a
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
lea ecx, [esp + 0xcc]
mov byte [esp + 0xf8], 2
call fcn.005549b0
lea ecx, [esp + 0x28]
mov byte [esp + 0xf8], 1
call fcn.0061d8c0
lea ecx, [esp + 0xa8]
mov byte [esp + 0xf8], 0
call fcn.0061ab90
lea ecx, [esp + 0x104]
mov dword [esp + 0xf8], 0xffffffff
call fcn.0061d8c0
mov ax, 1
mov ecx, dword [esp + 0xf0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xec
ret 8