Function at 0x1005cca0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x1015baba
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xf8
push ebx
push esi
push edi
mov al, byte [esp + 0xe]
push 0
lea ecx, [esp + 0x54]
mov dword [esp + 0x110], 0
mov byte [esp + 0x54], al
call fcn.1000bc70
lea ecx, [esp + 0xe]
mov byte [esp + 0x10c], 1
push ecx
lea ecx, [esp + 0x64]
call fcn.10043a70
lea edx, [esp + 0xf]
lea ecx, [esp + 0x70]
push edx
mov byte [esp + 0x110], 2
call fcn.10043a70
lea eax, [esp + 0xd]
lea ecx, [esp + 0x80]
push eax
mov byte [esp + 0x110], 3
call fcn.10043a70
lea ecx, [esp + 0xc]
mov byte [esp + 0x10c], 4
push ecx
lea ecx, [esp + 0x94]
call fcn.10043a70
mov al, byte [0x1018c73f]
mov dl, byte [0x1018c73e]
push 0xffffffffffffffd1
push 0xffffffffffffff84
sub al, 0x6a
push edx
push eax
push 0x7f
push 0x3b
mov byte [esp + 0x124], 6
call fcn.1005a1d0
mov cl, al
mov eax, 0x75
cdq
idiv dword [0x1018c718]
mov eax, dword [0x1018c714]
add esp, 0x14
mov bl, byte [edx + eax]
sub bl, cl
call fcn.10059d90
mov cl, al
mov al, bl
imul cl
mov dl, byte [0x1018c73d]
push eax
push edx
push 0x77
push 0x3b
call fcn.1005a430
add esp, 4
push eax
call fcn.1005aa90
mov esi, dword [esp + 0x12c]
mov byte [0x1018c73d], al
lea eax, [esp + 0x64]
mov ecx, dword [esi + 0x24]
lea edi, [esi + 0x38]
push eax
push edi
push ecx
call fcn.1005bfd0
add esp, 0x20
test al, al
jne 0x1005cf82
mov dl, byte [0x1018c73c]
push esi
lea ecx, [esp + 0xb4]
mov byte [0x1018c73f], dl
call fcn.10023d70
mov eax, dword [esi + 0x10]
lea ecx, [esi + 0x14]
push ecx
mov byte [esp + 0x110], 7
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc4], eax
call fcn.10023d70
mov edx, dword [esi + 0x24]
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
mov byte [esp + 0x10c], 8
mov dword [esp + 0xd4], edx
mov edx, dword [esi + 0x30]
mov dword [esp + 0xd8], eax
mov eax, dword [esi + 0x34]
mov dword [esp + 0xdc], ecx
push edi
lea ecx, [esp + 0xec]
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe8], eax
call fcn.1005ef60
mov ecx, dword [esp + 0x11c]
mov al, byte [0x1018c73e]
mov bl, 0xa
push ecx
inc al
mov byte [esp + 0x110], bl
sub esp, 0x48
mov byte [0x1018c73e], al
lea edx, [esp + 0xfc]
sub al, 0x33
mov ecx, esp
mov dword [esp + 0x78], esp
push edx
mov dword [esp + 0x124], 0
mov byte [0x1018c73c], al
call fcn.1003b660
push ecx
lea eax, [esp + 0x164]
mov ecx, esp
mov dword [esp + 0x98], esp
push eax
mov byte [esp + 0x160], 0xb
call fcn.1000f2b0
mov byte [esp + 0x15c], bl
call fcn.1005aad0
add esp, 0x50
mov esi, eax
lea ecx, [esp + 0xe8]
mov byte [esp + 0x10c], 0xe
call fcn.10023eb0
push 1
lea ecx, [esp + 0xc8]
mov byte [esp + 0x110], 0xd
call fcn.1000bc70
push 1
lea ecx, [esp + 0xb4]
mov byte [esp + 0x110], 6
call fcn.1000bc70
mov byte [esp + 0x10c], 0x13
push 1
lea ecx, [esp + 0x94]
call fcn.1000bc70
push 1
lea ecx, [esp + 0x84]
mov byte [esp + 0x110], 0x12
call fcn.1000bc70
push 1
lea ecx, [esp + 0x74]
mov byte [esp + 0x110], 0x11
call fcn.1000bc70
push 1
lea ecx, [esp + 0x64]
mov byte [esp + 0x110], 0x10
call fcn.1000bc70
push 1
lea ecx, [esp + 0x54]
mov byte [esp + 0x110], 0
call fcn.1000bc70
mov eax, dword [esp + 0x114]
mov dword [esp + 0x10c], 0xffffffff
test eax, eax
je 0x1005dbb7
jmp 0x1005dbb1
mov dl, byte [esp + 0xc]
push 0
lea ecx, [esp + 0x14]
mov byte [esp + 0x14], dl
call fcn.1000bc70
push 0x101913e8
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x10]
push eax
push 0x101913e8
call fcn.1000bf40
lea eax, [esp + 0x10]
lea ecx, [esp + 0x50]
push eax
push esi
push ecx
mov byte [esp + 0x118], 0x15
call fcn.100eca30
add esp, 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0x10c], 6
push 1
call fcn.1000bc70
mov eax, 0x2f7
mov cl, byte [esp + 0xc]
cdq
idiv dword [0x1018c718]
mov eax, dword [0x1018c714]
mov byte [esp + 0x10], cl
push 0
lea ecx, [esp + 0x14]
mov bl, byte [edx + eax]
sub bl, 0x5b
call fcn.1000bc70
push 0x101913e8
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x10]
push eax
push 0x101913e8
call fcn.1000bf40
lea edx, [esp + 0x10]
lea eax, [esp + 0x60]
push edx
push esi
push eax
mov byte [esp + 0x118], 0x16
call fcn.100eca30
add esp, 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0x10c], 6
push 1
call fcn.1000bc70
mov cl, byte [0x1018c73d]
mov al, byte [0x1018c73c]
mov dl, byte [esp + 0xc]
sub cl, al
mov byte [0x1018c73c], cl
push 0
lea ecx, [esp + 0x14]
mov byte [esp + 0x14], dl
call fcn.1000bc70
push 0x101913e8
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x10]
push eax
push 0x101913e8
call fcn.1000bf40
lea eax, [esp + 0x10]
lea ecx, [esp + 0x70]
push eax
push esi
push ecx
mov byte [esp + 0x118], 0x17
call fcn.100eca30
add esp, 0xc
push 1
lea ecx, [esp + 0x14]
mov byte [esp + 0x110], 6
call fcn.1000bc70
mov dl, byte [esp + 0xc]
push 0
lea ecx, [esp + 0x14]
mov byte [esp + 0x14], dl
call fcn.1000bc70
push 0x101913e8
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x10]
push eax
push 0x101913e8
call fcn.1000bf40
lea eax, [esp + 0x10]
lea ecx, [esp + 0x80]
push eax
push esi
push ecx
mov byte [esp + 0x118], 0x18
call fcn.100eca30
add esp, 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0x10c], 6
push 1
call fcn.1000bc70
mov dl, byte [esp + 0xc]
push 0
lea ecx, [esp + 0x14]
mov byte [esp + 0x14], dl
call fcn.1000bc70
push 0x101913e8
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x10]
push eax
push 0x101913e8
call fcn.1000bf40
lea eax, [esp + 0x10]
lea ecx, [esp + 0x90]
push eax
push esi
push ecx
mov byte [esp + 0x118], 0x19
call fcn.100eca30
add esp, 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0x10c], 6
push 1
call fcn.1000bc70
push 0x10191ad0
mov dword [esp + 0x30], 0x10191ad0
call fcn.10093730
add esp, 4
mov edx, dword [0x1016a210]
mov ecx, 0x10191ac0
push edx
push 0
push esi
mov byte [esp + 0x118], 0x1a
mov byte [esp + 0x33], 0xad
call fcn.1000ba60
mov eax, dword [0x1016a210]
add esi, 0x14
push eax
push 0
push esi
mov ecx, 0x10191ab0
call fcn.1000ba60
mov ecx, dword [0x1016a210]
lea edx, [esp + 0x50]
push ecx
push 0
push edx
mov ecx, 0x10191a60
call fcn.1000ba60
mov eax, dword [0x1016a210]
lea ecx, [esp + 0x60]
push eax
push 0
push ecx
mov ecx, 0x10191a70
call fcn.1000ba60
mov edx, dword [0x1016a210]
lea eax, [esp + 0x70]
push edx
push 0
push eax
mov ecx, 0x10191a80
call fcn.1000ba60
mov ecx, dword [0x1016a210]
lea edx, [esp + 0x80]
push ecx
push 0
push edx
mov ecx, 0x10191a90
call fcn.1000ba60
mov eax, dword [0x1016a210]
lea ecx, [esp + 0x90]
push eax
push 0
push ecx
mov ecx, 0x10191aa0
call fcn.1000ba60
push 0xffffffffffffffad
push 0xffffffffffffffad
push 0x5d
push 0xffffffffffffffeb
push 0x65
inc bl
push 0xffffffffffffffe6
push 0xffffffffffffffb8
mov byte [esp + 0x42], bl
mov byte [esp + 0x41], bl
call fcn.1006bec0
mov esi, dword [0x1018c718]
mov cl, al
mov eax, 0x1f7
mov edi, dword [0x1018c714]
cdq
idiv esi
mov al, cl
add esp, 0x14
imul byte [edx + edi]
mov cl, al
mov eax, 0x1d
cdq
idiv esi
mov al, cl
mov esi, dword [esp + 0x2e]
imul byte [edx + edi]
mov dl, 0x77
imul dl
push eax
push esi
push 0x3e
push 0xffffffffffffffad
push 0x12
push 0xfffffffffffffff6
push 6
push 0xffffffffffffffcb
push 0xffffffffffffff9b
call fcn.1005aa90
push 0x6d
push 0x56
push 0xffffffffffffff93
mov bl, 0xb0
push 0xffffffffffffff86
push 0x2c
sub bl, al
call fcn.1005aa90
sub bl, al
mov eax, 0x32
push esi
mov esi, dword [0x1018c718]
cdq
idiv esi
mov edi, dword [0x1018c714]
mov al, byte [edx + edi]
sub al, 0x5d
push eax
mov eax, 0x3a6
cdq
idiv esi
mov cl, byte [edx + edi]
push ecx
push 0x19
push 0xffffffffffffffac
call fcn.1006bec0
add esp, 0x3c
add bl, al
push ebx
call fcn.1006bec0
add esp, 0x14
mov cl, 0x1a
push eax
mov eax, 0x38a
cdq
idiv dword [0x1018c718]
mov eax, dword [0x1018c714]
mov al, byte [edx + eax]
mov dl, byte [esp + 0x31]
imul cl
mov cl, byte [0x1018c73f]
push eax
sub dl, cl
push edx
call fcn.1005aa90
push 0x10191ad0
mov byte [esp + 0x124], 6
call fcn.10072d60
mov ecx, dword [esp + 0x134]
add esp, 0x18
push 0x7d0
call fcn.10062cd0
test al, al
jne 0x1005d3ea
push 1
lea ecx, [esp + 0x94]
mov byte [esp + 0x110], 0x1e
call fcn.1000bc70
push 1
lea ecx, [esp + 0x84]
mov byte [esp + 0x110], 0x1d
call fcn.1000bc70
push 1
lea ecx, [esp + 0x74]
mov byte [esp + 0x110], 0x1c
call fcn.1000bc70
push 1
lea ecx, [esp + 0x64]
mov byte [esp + 0x110], 0x1b
call fcn.1000bc70
push 1
lea ecx, [esp + 0x54]
mov byte [esp + 0x110], 0
call fcn.1000bc70
mov eax, dword [esp + 0x114]
mov dword [esp + 0x10c], 0xffffffff
test eax, eax
je 0x1005d3e0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80004005
jmp 0x1005dbb9
mov edx, dword [esp + 0x114]
lea eax, [esp + 0x20]
push edx
push eax
call fcn.1005f020
mov ecx, dword [esp + 0x11c]
lea edx, [esp + 0x18]
push ecx
push edx
mov byte [esp + 0x11c], 0x20
call fcn.10044910
push eax
lea eax, [esp + 0xb4]
push eax
mov byte [esp + 0x124], 0x21
call fcn.100471b0
add esp, 0x18
push 1
lea ecx, [esp + 0x14]
mov byte [esp + 0x110], 0x23
call fcn.1000bc70
mov cl, byte [esp + 0xc]
xor edi, edi
mov byte [esp + 0x30], cl
push edi
lea ecx, [esp + 0x34]
mov byte [0x1018c73f], 0x61
call fcn.1000bc70
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x10c], 0x24
cmp ecx, edi
je 0x1005d481
mov edx, dword [ecx]
lea eax, [esp + 0x30]
push eax
call dword [edx + 0x10]
mov al, 0xae
mov byte [esp + 0x27], al
mov byte [esp + 0x25], al
lea ecx, [esp + 0x30]
lea edx, [esp + 0x10]
push ecx
push edx
call fcn.100471b0
add esp, 8
mov ecx, dword [0x1016a210]
mov byte [esp + 0x10c], 0x25
push ecx
push edi
push eax
lea ecx, [esp + 0x3c]
call fcn.1000ba60
push 1
lea ecx, [esp + 0x14]
mov byte [esp + 0x110], 0x24
call fcn.1000bc70
mov ecx, dword [0x1018c718]
mov eax, 0x175
cdq
idiv ecx
mov eax, 0x49
mov esi, edx
cdq
idiv ecx
mov eax, dword [0x1018c714]
mov cl, byte [esi + eax]
mov dl, byte [edx + eax]
mov al, byte [0x1018c73f]
sub dl, cl
add dl, al
add dl, 0x47
inc al
mov byte [0x1018c73f], al
mov eax, dword [esp + 0x34]
cmp eax, edi
mov byte [0x1018c73c], dl
jne 0x1005d509
mov eax, 0x1016a1d8
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xa8]
push ecx
push eax
push edx
push edi
lea ecx, [esp + 0xb0]
call fcn.1000d2b0
cmp eax, edi
je 0x1005d918
mov eax, 0xb6
push 0x10191ad0
cdq
idiv dword [0x1018c718]
mov eax, dword [0x1018c714]
mov dword [esp + 0x104], 0x10191ad0
mov cl, byte [edx + eax]
mov byte [0x1018c73c], cl
call fcn.10093730
mov byte [esp + 0x110], 0x26
call fcn.10059d90
mov bl, byte [0x1018c73d]
mov dl, byte [esp + 0x29]
add bl, dl
push 0x101913e8
sub bl, al
add bl, 0x79
mov byte [esp + 0x49], bl
call fcn.1013c2c2
add esp, 8
mov esi, eax
mov ecx, 0x10191ab0
push 1
push esi
call fcn.1000c010
test al, al
je 0x1005d5bc
mov eax, dword [0x10191ab4]
push esi
push 0x101913e8
push eax
call fcn.100017d0
add esp, 0xc
mov ecx, 0x10191ab0
push esi
call fcn.1000bff0
mov edx, dword [0x1016a210]
mov ecx, 0x10191ac0
push edx
push edi
push 0x10191ab0
call fcn.1000ba60
inc byte [0x1018c73f]
call fcn.10059d90
push eax
mov eax, 0x16
cdq
idiv dword [0x1018c718]
mov eax, dword [0x1018c714]
mov ecx, dword [esp + 0x45]
push ecx
mov dl, byte [edx + eax]
mov al, byte [0x1018c73f]
add dl, al
push edx
push ecx
push 0x43
push 0x2f
push 0x31
push 0x22
push 0x7a
call fcn.1005aa90
add esp, 0x14
add al, 0x6c
push eax
call fcn.1006bec0
mov byte [esp + 0x5c], al
mov al, bl
sub al, 0x22
add esp, 0x14
mov cl, byte [0x1018c73d]
mov byte [esp + 0x2c], al
mov al, byte [0x1018c73e]
inc bl
mov byte [esp + 0x41], bl
mov bl, al
dec al
mov dl, cl
mov byte [0x1018c73e], al
mov eax, dword [esp + 0x48]
push eax
mov eax, 0x339
push edx
cdq
idiv dword [0x1018c718]
mov eax, dword [0x1018c714]
mov dl, byte [edx + eax]
mov eax, dword [esp + 0x49]
push edx
push 0x62
push ecx
push 0x62
push eax
call fcn.1006bec0
mov cl, al
mov al, byte [0x1018c73e]
mov dl, 0x68
add esp, 0x14
imul dl
add cl, al
mov eax, 0xf6
cdq
idiv dword [0x1018c718]
mov eax, dword [0x1018c714]
push ecx
push 0x62
mov cl, byte [edx + eax]
mov edx, dword [esp + 0x3c]
push ecx
push edx
call fcn.1005a1d0
add esp, 0x14
push eax
mov al, byte [0x1018c73e]
push eax
mov dl, byte [esp + 0x33]
push 0x62
sub bl, dl
add bl, 0x62
push ebx
call fcn.1005a1d0
mov cl, byte [esp + 0x20]
add esp, 0x14
mov byte [esp + 0xb0], cl
lea ecx, [esp + 0xb0]
push edi
call fcn.1000bc70
mov dl, byte [esp + 0xc]
mov byte [esp + 0x10c], 0x27
push edi
lea ecx, [esp + 0xc4]
mov byte [esp + 0xc4], dl
call fcn.1000bc70
lea eax, [esp + 0xc]
lea ecx, [esp + 0xd0]
push eax
mov byte [esp + 0x110], 0x28
call fcn.10043a70
lea ecx, [esp + 0xd]
mov byte [esp + 0x10c], 0x29
push ecx
lea ecx, [esp + 0xe4]
call fcn.10043a70
lea edx, [esp + 0xf]
lea ecx, [esp + 0xf0]
push edx
mov byte [esp + 0x110], 0x2a
call fcn.10043a70
mov eax, dword [0x1016a210]
lea ecx, [esp + 0xb0]
push eax
push edi
push ecx
mov ecx, 0x10191a60
mov byte [esp + 0x118], 0x2c
call fcn.1000ba60
mov edx, dword [0x1016a210]
lea eax, [esp + 0xc0]
push edx
push edi
push eax
mov ecx, 0x10191a70
call fcn.1000ba60
mov ecx, dword [0x1016a210]
lea edx, [esp + 0xd0]
push ecx
push edi
push edx
mov ecx, 0x10191a80
call fcn.1000ba60
mov eax, dword [0x1016a210]
lea ecx, [esp + 0xe0]
push eax
push edi
push ecx
mov ecx, 0x10191a90
call fcn.1000ba60
mov edx, dword [0x1016a210]
lea eax, [esp + 0xf0]
push edx
push edi
push eax
mov ecx, 0x10191aa0
call fcn.1000ba60
mov byte [esp + 0x10c], 0x30
push 1
lea ecx, [esp + 0xf4]
call fcn.1000bc70
push 1
lea ecx, [esp + 0xe4]
mov byte [esp + 0x110], 0x2f
call fcn.1000bc70
push 1
lea ecx, [esp + 0xd4]
mov byte [esp + 0x110], 0x2e
call fcn.1000bc70
push 1
lea ecx, [esp + 0xc4]
mov byte [esp + 0x110], 0x2d
call fcn.1000bc70
push 1
lea ecx, [esp + 0xb4]
mov byte [esp + 0x110], 0x26
call fcn.1000bc70
push 0x10191ad0
mov byte [esp + 0x110], 0x24
call fcn.10072d60
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x10c], 0x23
push 1
call fcn.1000bc70
push 1
lea ecx, [esp + 0xa4]
mov byte [esp + 0x110], 0x20
call fcn.1000bc70
mov eax, dword [esp + 0x20]
mov byte [esp + 0x10c], 6
cmp eax, edi
je 0x1005d88d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 1
lea ecx, [esp + 0x94]
mov byte [esp + 0x110], 0x35
call fcn.1000bc70
push 1
lea ecx, [esp + 0x84]
mov byte [esp + 0x110], 0x34
call fcn.1000bc70
push 1
lea ecx, [esp + 0x74]
mov byte [esp + 0x110], 0x33
call fcn.1000bc70
push 1
lea ecx, [esp + 0x64]
mov byte [esp + 0x110], 0x32
call fcn.1000bc70
push 1
lea ecx, [esp + 0x54]
mov byte [esp + 0x110], 0
call fcn.1000bc70
mov eax, dword [esp + 0x114]
mov dword [esp + 0x10c], 0xffffffff
cmp eax, edi
je 0x1005d90e
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, 0x80004004
jmp 0x1005dbb9
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x4c]
push eax
push ecx
call fcn.100289f0
add esp, 8
mov ecx, dword [esp + 0x4c]
mov byte [esp + 0x10c], 0x37
cmp ecx, edi
jne 0x1005da2f
push 1
lea ecx, [esp + 0x34]
mov byte [esp + 0x110], 0x23
call fcn.1000bc70
push 1
lea ecx, [esp + 0xa4]
mov byte [esp + 0x110], 0x20
call fcn.1000bc70
mov eax, dword [esp + 0x20]
mov byte [esp + 0x10c], 6
cmp eax, edi
je 0x1005d97d
mov edx, dword [eax]
push eax
call dword [edx + 8]
push 1
lea ecx, [esp + 0x94]
mov byte [esp + 0x110], 0x3b
call fcn.1000bc70
push 1
lea ecx, [esp + 0x84]
mov byte [esp + 0x110], 0x3a
call fcn.1000bc70
push 1
lea ecx, [esp + 0x74]
mov byte [esp + 0x110], 0x39
call fcn.1000bc70
push 1
lea ecx, [esp + 0x64]
mov byte [esp + 0x110], 0x38
call fcn.1000bc70
mov ecx, dword [esp + 0x54]
mov byte [esp + 0x10c], 0
cmp ecx, edi
je 0x1005d9fd
mov al, byte [ecx - 1]
test al, al
je 0x1005d9f1
cmp al, 0xff
je 0x1005d9f1
dec al
mov byte [ecx - 1], al
jmp 0x1005d9fd
add ecx, 0xfffffffe
push ecx
call fcn.101307a0
add esp, 4
mov eax, dword [esp + 0x114]
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
cmp eax, edi
mov dword [esp + 0x10c], 0xffffffff
je 0x1005da25
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80004002
jmp 0x1005dbb9
lea edx, [esp + 0x50]
push edi
push edx
call fcn.100262e0
mov esi, eax
mov eax, dword [esp + 0x4c]
cmp eax, edi
mov byte [esp + 0x10c], 0x24
je 0x1005da52
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [esp + 0x34]
mov byte [esp + 0x10c], 0x23
cmp ecx, edi
je 0x1005da80
mov al, byte [ecx - 1]
test al, al
je 0x1005da74
cmp al, 0xff
je 0x1005da74
dec al
mov byte [ecx - 1], al
jmp 0x1005da80
add ecx, 0xfffffffe
push ecx
call fcn.101307a0
add esp, 4
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
cmp ecx, edi
mov byte [esp + 0x10c], 0x20
je 0x1005dabd
mov al, byte [ecx - 1]
test al, al
je 0x1005dab1
cmp al, 0xff
je 0x1005dab1
dec al
mov byte [ecx - 1], al
jmp 0x1005dabd
add ecx, 0xfffffffe
push ecx
call fcn.101307a0
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], edi
cmp eax, edi
mov byte [esp + 0x10c], 6
je 0x1005dae8
mov edx, dword [eax]
push eax
call dword [edx + 8]
push 1
lea ecx, [esp + 0x94]
mov byte [esp + 0x110], 0x40
call fcn.1000bc70
push 1
lea ecx, [esp + 0x84]
mov byte [esp + 0x110], 0x3f
call fcn.1000bc70
push 1
lea ecx, [esp + 0x74]
mov byte [esp + 0x110], 0x3e
call fcn.1000bc70
mov ecx, dword [esp + 0x64]
mov byte [esp + 0x10c], 0x3d
cmp ecx, edi
je 0x1005db55
mov al, byte [ecx - 1]
test al, al
je 0x1005db49
cmp al, 0xff
je 0x1005db49
dec al
mov byte [ecx - 1], al
jmp 0x1005db55
add ecx, 0xfffffffe
push ecx
call fcn.101307a0
add esp, 4
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
cmp ecx, edi
mov byte [esp + 0x10c], 0
je 0x1005db8f
mov al, byte [ecx - 1]
test al, al
je 0x1005db83
cmp al, 0xff
je 0x1005db83
dec al
mov byte [ecx - 1], al
jmp 0x1005db8f
add ecx, 0xfffffffe
push ecx
call fcn.101307a0
add esp, 4
mov eax, dword [esp + 0x114]
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
cmp eax, edi
mov dword [esp + 0x10c], 0xffffffff
je 0x1005dbb7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, esi
mov ecx, dword [esp + 0x104]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x104
ret