Function at 0x100b4480
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x10161995
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10c
push ebx
push ebp
push esi
lea eax, [esp + 0xa8]
push edi
push eax
call fcn.100b4210
add esp, 4
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x124], 0
test eax, eax
jne 0x100b44e8
push 1
lea ecx, [esp + 0xb0]
mov dword [esp + 0x128], 0xffffffff
call fcn.1000bc70
mov eax, 3
jmp 0x100b5535
push 0x9f
call fcn.100baa40
mov edx, dword [esp + 0x130]
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
push edx
push ecx
call fcn.1000cf10
add esp, 0xc
lea eax, [esp + 0x8c]
mov byte [esp + 0x134], 0
push eax
call fcn.10023160
add esp, 0x14
mov eax, 0xe9
mov byte [esp + 0x124], 2
mov word [esp + 0x54], ax
mov word [esp + 0x58], ax
mov al, byte [0x10196b7c]
mov word [esp + 0x44], 0xdc
test al, 1
mov word [esp + 0x46], 0xf3
mov word [esp + 0x48], 0xe5
mov word [esp + 0x4a], 0xe1
mov word [esp + 0x4c], 0xf2
mov word [esp + 0x4e], 0xe3
mov word [esp + 0x50], 0xe8
mov word [esp + 0x52], 0xae
mov word [esp + 0x56], 0xee
jne 0x100b45b0
mov bl, al
lea ecx, [esp + 0x44]
push 0x80
or bl, 1
push ecx
mov ecx, 0x10196b80
mov byte [0x10196b7c], bl
call fcn.1007a2f0
push 0x100bab00
call fcn.1013c36b
add esp, 4
mov edx, dword [0x10196b80]
lea eax, [esp + 0xac]
push edx
lea ecx, [esp + 0xa0]
push eax
push ecx
call fcn.1000cf10
add esp, 0xc
push eax
lea ecx, [esp + 0x60]
mov byte [esp + 0x128], 3
call fcn.10116f30
push 1
lea ecx, [esp + 0xa0]
mov byte [esp + 0x128], 5
call fcn.1000bc70
mov eax, 0x299
mov ecx, dword [0x1018cadc]
cdq
idiv dword [0x1018cae0]
mov al, byte [0x1018caf1]
push 0xffffffffffffffb4
mov bl, byte [edx + ecx]
mov dl, byte [0x1018caf0]
sub al, bl
push eax
push edx
call fcn.10063400
mov cl, al
mov eax, 0x15d
cdq
idiv dword [0x1018cae0]
mov eax, dword [0x1018cadc]
add esp, 0xc
mov edi, 1
mov ebp, 0xc5
mov bl, byte [edx + eax]
mov al, byte [0x1018caf2]
add cl, bl
inc al
mov byte [0x1018caf2], al
mov bl, 6
dec cl
push 0xa
mov byte [0x1018caf1], cl
lea ecx, [esp + 0x100]
push edi
push ecx
call fcn.10021a90
add esp, 0xc
mov esi, eax
mov eax, 0xce
mov ecx, 0x8b
mov word [esp + 0xbe], ax
mov word [esp + 0xd4], ax
mov al, byte [0x10196b84]
mov byte [esp + 0x124], bl
test al, 1
mov word [esp + 0xbc], 0xf8
mov word [esp + 0xc0], 0xca
mov word [esp + 0xc2], 0xd9
mov word [esp + 0xc4], 0xc8
mov word [esp + 0xc6], 0xc3
mov word [esp + 0xc8], cx
mov word [esp + 0xca], 0xee
mov word [esp + 0xcc], bp
mov word [esp + 0xce], 0xcc
mov word [esp + 0xd0], 0xc2
mov word [esp + 0xd2], bp
mov word [esp + 0xd6], cx
jne 0x100b473b
mov dl, al
push 0xab
or dl, 1
mov ecx, 0x10196b88
mov byte [0x10196b84], dl
lea edx, [esp + 0xc0]
push edx
call fcn.10018600
push 0x100bab10
call fcn.1013c36b
add esp, 4
mov eax, dword [0x10196b88]
push esi
lea ecx, [esp + 0x110]
push eax
push ecx
call fcn.1000cdb0
add esp, 0xc
push eax
lea ecx, [esp + 0x60]
mov byte [esp + 0x128], 7
call fcn.10117060
push 1
lea ecx, [esp + 0x110]
mov byte [esp + 0x128], bl
call fcn.1000bc70
push 1
lea ecx, [esp + 0x100]
mov byte [esp + 0x128], 5
call fcn.1000bc70
mov eax, 0x51
mov ecx, 0x45
mov word [esp + 0x24], ax
mov word [esp + 0x2c], ax
mov al, byte [0x10196b8c]
mov word [esp + 0x26], 0x4a
test al, 1
mov word [esp + 0x28], cx
mov word [esp + 0x2a], 0x4d
mov word [esp + 0x2e], 0x41
mov word [esp + 0x30], cx
mov word [esp + 0x32], 0x40
jne 0x100b47f5
lea edx, [esp + 0x24]
or al, 1
push edx
mov ecx, 0x10196b90
mov byte [0x10196b8c], al
call fcn.100b66f0
push 0x100babe0
call fcn.1013c36b
add esp, 4
mov al, byte [esp + 0x10]
mov esi, dword [0x10196b90]
push 0
lea ecx, [esp + 0xdc]
mov byte [esp + 0xdc], al
call fcn.1000bc70
push esi
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0xd8]
push eax
push esi
call fcn.1000bf40
mov cl, byte [esp + 0x10]
mov byte [esp + 0x124], 8
mov byte [esp + 0x9c], cl
push 0
lea ecx, [esp + 0xa0]
call fcn.1000bc70
lea edx, [esp + 0x9c]
lea eax, [esp + 0xd8]
push edx
lea ecx, [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x68]
mov byte [esp + 0x130], 9
call fcn.101171e0
push 1
lea ecx, [esp + 0xa0]
mov byte [esp + 0x128], 0xc
call fcn.1000bc70
push 1
lea ecx, [esp + 0xdc]
mov byte [esp + 0x128], 0xb
call fcn.1000bc70
mov eax, dword [esp + 0x1c]
mov dl, byte [0x1018caf2]
test eax, eax
mov byte [0x1018caf1], dl
je 0x100b4bd3
mov al, byte [0x10196b94]
mov word [esp + 0x34], 0x65
test al, 1
mov word [esp + 0x36], 7
mov word [esp + 0x38], 0x1e
jne 0x100b48f7
or al, 1
mov ecx, 0x10196b98
mov byte [0x10196b94], al
lea eax, [esp + 0x34]
push eax
call fcn.100157c0
push 0x100babf0
call fcn.1013c36b
add esp, 4
mov cl, byte [esp + 0x10]
mov esi, dword [0x10196b98]
mov byte [esp + 0x8c], cl
push 0
lea ecx, [esp + 0x90]
call fcn.1000bc70
push esi
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x8c]
push eax
push esi
call fcn.1000bf40
lea edx, [esp + 0x10]
lea ecx, [esp + 0x44]
push edx
mov byte [esp + 0x128], 0xd
call fcn.10043a70
sub esp, 0x10
lea edx, [esp + 0x9c]
mov ecx, esp
mov dword [esp + 0x108], esp
push eax
push edx
push ecx
lea ecx, [esp + 0x78]
mov byte [esp + 0x140], 0xe
call fcn.101171e0
lea eax, [esp + 0xf8]
mov byte [esp + 0x134], 0xe
push eax
call fcn.10023160
add esp, 0x14
push 1
lea ecx, [esp + 0x48]
mov byte [esp + 0x128], 0x12
call fcn.1000bc70
push 1
lea ecx, [esp + 0x90]
mov byte [esp + 0x128], 0x11
call fcn.1000bc70
lea ecx, [esp + 0x7c]
push ecx
lea ecx, [esp + 0xec]
call fcn.1002b0f0
test eax, eax
je 0x100b49f5
push 1
lea ecx, [esp + 0xec]
mov byte [esp + 0x128], 0xb
call fcn.1000bc70
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x128], 5
call fcn.1000bc70
mov cl, byte [0x1018caf1]
inc edi
jmp 0x100b4655
mov al, byte [0x10196b9c]
mov word [esp + 0x34], 0xff7b
test al, 1
mov word [esp + 0x36], 0xff8e
mov word [esp + 0x38], 0xff9a
mov word [esp + 0x3a], 0xff92
jne 0x100b4a41
mov bl, al
lea edx, [esp + 0x34]
or bl, 1
push edx
mov ecx, 0x10196ba0
mov byte [0x10196b9c], bl
call fcn.100b6750
push 0x100bb1d0
call fcn.1013c36b
add esp, 4
mov al, byte [esp + 0x10]
mov esi, dword [0x10196ba0]
push 0
lea ecx, [esp + 0x90]
mov byte [esp + 0x90], al
call fcn.1000bc70
push esi
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x8c]
push eax
push esi
call fcn.1000bf40
mov cl, byte [esp + 0x10]
mov byte [esp + 0x124], 0x13
mov byte [esp + 0x9c], cl
push 0
lea ecx, [esp + 0xa0]
call fcn.1000bc70
lea edx, [esp + 0x9c]
lea eax, [esp + 0x8c]
push edx
lea ecx, [esp + 0x48]
push eax
push ecx
lea ecx, [esp + 0x68]
mov byte [esp + 0x130], 0x14
call fcn.101171e0
mov edx, dword [esp + 0x130]
mov ecx, eax
push edx
mov byte [esp + 0x128], 0x15
call fcn.1002b0f0
test eax, eax
push 1
lea ecx, [esp + 0x48]
sete bl
mov byte [esp + 0x128], 0x14
call fcn.1000bc70
push 1
lea ecx, [esp + 0xa0]
mov byte [esp + 0x128], 0x13
call fcn.1000bc70
push 1
lea ecx, [esp + 0x90]
mov byte [esp + 0x128], 0x11
call fcn.1000bc70
test bl, bl
je 0x100b4bbd
mov eax, dword [0x1016a210]
lea ecx, [esp + 0x14]
push eax
push 0
push ecx
mov ecx, dword [esp + 0x140]
call fcn.1000ba60
push 1
lea ecx, [esp + 0xec]
mov byte [esp + 0x128], 0xb
call fcn.1000bc70
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x128], 5
call fcn.1000bc70
push 1
lea ecx, [esp + 0x70]
mov byte [esp + 0x128], 0x16
call fcn.1000bc70
push 1
lea ecx, [esp + 0x60]
mov byte [esp + 0x128], 2
call fcn.1000bc70
push 1
lea ecx, [esp + 0x80]
mov byte [esp + 0x128], 0
call fcn.1000bc70
push 1
lea ecx, [esp + 0xb0]
mov dword [esp + 0x128], 0xffffffff
call fcn.1000bc70
jmp 0x100b5533
push 1
lea ecx, [esp + 0xec]
mov byte [esp + 0x128], 0xb
call fcn.1000bc70
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x128], 5
call fcn.1000bc70
lea eax, [edi + edi*4]
push 0xa
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
lea eax, [esp + 0x48]
shl edx, 6
push edx
push eax
call fcn.10021a90
add esp, 0xc
mov ecx, dword [0x1016a210]
mov esi, dword [esp + 0x134]
push ecx
mov ebx, 0x18
push 0
push eax
mov ecx, esi
mov byte [esp + 0x130], bl
call fcn.1000ba60
push 1
lea ecx, [esp + 0x48]
mov byte [esp + 0x128], 5
call fcn.1000bc70
mov al, byte [0x10196ba4]
mov word [esp + 0x24], 0x65
test al, 1
mov word [esp + 0x26], 0x1b
mov word [esp + 0x28], 7
mov word [esp + 0x2a], bx
mov word [esp + 0x2c], 4
mov word [esp + 0x2e], 0x10
mov word [esp + 0x30], 0xc
mov word [esp + 0x32], 0xd
jne 0x100b4ca8
mov bl, al
lea edx, [esp + 0x24]
or bl, 1
push edx
mov ecx, 0x10196ba8
mov byte [0x10196ba4], bl
call fcn.1000b6c0
push 0x100bb1e0
call fcn.1013c36b
add esp, 4
mov al, byte [esp + 0x10]
mov ebx, dword [0x10196ba8]
push 0
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
call fcn.1000bc70
push ebx
call fcn.1013c2c2
add esp, 4
mov edi, eax
lea ecx, [esp + 0x14]
push 1
push edi
call fcn.1000c010
test al, al
je 0x100b4cf5
mov ecx, dword [esp + 0x18]
push edi
push ebx
push ecx
call fcn.100017d0
add esp, 0xc
lea ecx, [esp + 0x14]
push edi
call fcn.1000bff0
lea edx, [esp + 0x14]
push esi
push edx
lea ecx, [esp + 0x64]
mov byte [esp + 0x12c], 0x19
call fcn.101174d0
test al, al
push 1
lea ecx, [esp + 0x18]
sete bl
mov byte [esp + 0x128], 5
call fcn.1000bc70
test bl, bl
je 0x100b4d3c
call fcn.10116f00
mov esi, eax
mov byte [esp + 0x124], 0x1a
jmp 0x100b4f02
mov al, byte [0x10196bac]
mov word [esp + 0x34], 0x8f
test al, 1
mov word [esp + 0x36], 0xa0
mov word [esp + 0x38], 0xac
mov word [esp + 0x3a], 0xa4
jne 0x100b4d8d
mov bl, al
lea eax, [esp + 0x34]
or bl, 1
push 0xc1
push eax
mov ecx, 0x10196bb0
mov byte [0x10196bac], bl
call fcn.1002a5f0
push 0x100bb1f0
call fcn.1013c36b
add esp, 4
mov cl, byte [esp + 0x10]
mov edi, dword [0x10196bb0]
mov byte [esp + 0x14], cl
push 0
lea ecx, [esp + 0x18]
call fcn.1000bc70
push edi
call fcn.1013c2c2
add esp, 4
mov esi, eax
lea ecx, [esp + 0x14]
push 1
push esi
call fcn.1000c010
test al, al
je 0x100b4dda
mov edx, dword [esp + 0x18]
push esi
push edi
push edx
call fcn.100017d0
add esp, 0xc
lea ecx, [esp + 0x14]
push esi
call fcn.1000bff0
mov eax, dword [esp + 0x130]
lea ecx, [esp + 0x14]
push eax
push ecx
lea ecx, [esp + 0x64]
mov byte [esp + 0x12c], 0x1c
call fcn.101174d0
test al, al
push 1
lea ecx, [esp + 0x18]
sete bl
mov byte [esp + 0x128], 5
call fcn.1000bc70
test bl, bl
je 0x100b4e28
call fcn.10116f00
mov esi, eax
mov byte [esp + 0x124], 0x1d
jmp 0x100b4f02
mov al, byte [0x10196bb4]
mov word [esp + 0x34], 0x13
test al, 1
mov word [esp + 0x36], 0x14
mov word [esp + 0x38], 0xa
jne 0x100b4e6f
mov bl, al
lea edx, [esp + 0x34]
or bl, 1
push 0x46
push edx
mov ecx, 0x10196bb8
mov byte [0x10196bb4], bl
call fcn.100776d0
push 0x100bb200
call fcn.1013c36b
add esp, 4
mov al, byte [esp + 0x10]
mov edi, dword [0x10196bb8]
push 0
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], al
call fcn.1000bc70
push edi
call fcn.1013c2c2
add esp, 4
mov esi, eax
lea ecx, [esp + 0x14]
push 1
push esi
call fcn.1000c010
test al, al
je 0x100b4ebc
mov ecx, dword [esp + 0x18]
push esi
push edi
push ecx
call fcn.100017d0
add esp, 0xc
lea ecx, [esp + 0x14]
push esi
call fcn.1000bff0
lea edx, [esp + 0x7c]
lea eax, [esp + 0x14]
push edx
push eax
lea ecx, [esp + 0x64]
mov byte [esp + 0x12c], 0x1f
call fcn.101174d0
test al, al
push 1
lea ecx, [esp + 0x18]
sete bl
mov byte [esp + 0x128], 5
call fcn.1000bc70
test bl, bl
je 0x100b4f56
call fcn.10116f00
mov esi, eax
mov byte [esp + 0x124], 0x20
push 1
lea ecx, [esp + 0x70]
call fcn.1000bc70
push 1
lea ecx, [esp + 0x60]
mov byte [esp + 0x128], 2
call fcn.1000bc70
push 1
lea ecx, [esp + 0x80]
mov byte [esp + 0x128], 0
call fcn.1000bc70
push 1
lea ecx, [esp + 0xb0]
mov dword [esp + 0x128], 0xffffffff
call fcn.1000bc70
mov eax, esi
jmp 0x100b5535
mov al, byte [0x10196bbc]
mov word [esp + 0x10], 0xff84
test al, 1
jne 0x100b4f8d
mov bl, al
lea ecx, [esp + 0x10]
or bl, 1
push ecx
mov ecx, 0x10196bc0
mov byte [0x10196bbc], bl
call fcn.100b67d0
push 0x100bb2a0
call fcn.1013c36b
add esp, 4
mov dl, byte [esp + 0x10]
mov edi, dword [0x10196bc0]
push 0
lea ecx, [esp + 0x38]
mov byte [esp + 0x38], dl
call fcn.1000bc70
push edi
call fcn.1013c2c2
add esp, 4
mov esi, eax
lea ecx, [esp + 0x34]
push 1
push esi
call fcn.1000c010
test al, al
je 0x100b4fda
mov eax, dword [esp + 0x38]
push esi
push edi
push eax
call fcn.100017d0
add esp, 0xc
lea ecx, [esp + 0x34]
push esi
call fcn.1000bff0
mov eax, 0x7d
mov bl, 0x22
mov word [esp + 0x2c], ax
mov word [esp + 0x32], ax
mov al, byte [0x10196bc4]
mov ecx, 0x6c
mov ebp, 0x7b
mov byte [esp + 0x124], bl
test al, 1
mov word [esp + 0x24], 0x5f
mov word [esp + 0x26], cx
mov word [esp + 0x28], bp
mov word [esp + 0x2a], 0x6b
mov word [esp + 0x2e], cx
mov word [esp + 0x30], 0x71
jne 0x100b504e
lea ecx, [esp + 0x24]
push 9
or al, 1
push ecx
mov ecx, 0x10196bc8
mov byte [0x10196bc4], al
call fcn.100159b0
push 0x100bb210
call fcn.1013c36b
add esp, 4
mov dl, byte [esp + 0x10]
mov edi, dword [0x10196bc8]
push 0
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], dl
call fcn.1000bc70
push edi
call fcn.1013c2c2
add esp, 4
mov esi, eax
lea ecx, [esp + 0x14]
push 1
push esi
call fcn.1000c010
test al, al
je 0x100b509b
mov eax, dword [esp + 0x18]
push esi
push edi
push eax
call fcn.100017d0
add esp, 0xc
lea ecx, [esp + 0x14]
push esi
call fcn.1000bff0
lea ecx, [esp + 0x34]
lea edx, [esp + 0x14]
push ecx
push edx
lea ecx, [esp + 0x64]
mov byte [esp + 0x12c], 0x23
call fcn.101174d0
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x128], bl
call fcn.1000bc70
push 1
lea ecx, [esp + 0x38]
mov byte [esp + 0x128], 5
call fcn.1000bc70
mov al, byte [0x10196bcc]
mov word [esp + 0x10], 0x57
test al, 1
jne 0x100b5112
mov bl, al
lea eax, [esp + 0x10]
or bl, 1
push eax
mov ecx, 0x10196bd0
mov byte [0x10196bcc], bl
call fcn.100153e0
push 0x100bb320
call fcn.1013c36b
add esp, 4
mov cl, byte [esp + 0x10]
mov edi, dword [0x10196bd0]
mov byte [esp + 0x14], cl
push 0
lea ecx, [esp + 0x18]
call fcn.1000bc70
push edi
call fcn.1013c2c2
add esp, 4
mov esi, eax
lea ecx, [esp + 0x14]
push 1
push esi
call fcn.1000c010
test al, al
je 0x100b5163
mov edx, dword [esp + 0x18]
push esi
push edi
push edx
call fcn.100017d0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], esi
add esp, 0xc
mov word [eax + esi*2], 0
mov al, byte [0x10196bd4]
mov bl, 0x24
test al, 1
mov byte [esp + 0x124], bl
mov word [esp + 0x34], bp
mov word [esp + 0x36], 0x2e
mov word [esp + 0x38], 0x1c
jne 0x100b51ab
lea ecx, [esp + 0x34]
or al, 1
push ecx
mov ecx, 0x10196bd8
mov byte [0x10196bd4], al
call fcn.100157c0
push 0x100bb310
call fcn.1013c36b
add esp, 4
mov dl, byte [esp + 0x10]
mov edi, dword [0x10196bd8]
xor ebp, ebp
lea ecx, [esp + 0x24]
push ebp
mov byte [esp + 0x28], dl
call fcn.1000bc70
push edi
call fcn.1013c2c2
add esp, 4
mov esi, eax
lea ecx, [esp + 0x24]
push 1
push esi
call fcn.1000c010
test al, al
je 0x100b51fb
mov eax, dword [esp + 0x28]
push esi
push edi
push eax
call fcn.100017d0
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x38], esi
add esp, 0xc
mov word [ecx + esi*2], bp
lea edx, [esp + 0x14]
lea eax, [esp + 0x24]
push edx
push eax
lea ecx, [esp + 0x64]
mov byte [esp + 0x12c], 0x25
call fcn.101174d0
push 1
lea ecx, [esp + 0x28]
mov byte [esp + 0x128], bl
call fcn.1000bc70
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x128], 5
call fcn.1000bc70
mov al, byte [0x10196bdc]
mov word [esp + 0x34], 0x65
test al, 1
mov word [esp + 0x36], 1
mov word [esp + 0x38], 0x12
mov word [esp + 0x3a], 0x6b
mov word [esp + 0x3c], 0x15
jne 0x100b52d7
mov bl, al
push 0xc
or bl, 1
mov byte [0x10196bdc], bl
call fcn.1013c2df
add esp, 4
mov dword [0x10196be0], eax
mov edi, 0x30
xor esi, esi
mov bp, word [esp + esi + 0x34]
push edi
mov ecx, ebp
and ecx, 0xffff
push ecx
mov ecx, 0x10196be0
call fcn.1004a650
mov edx, dword [0x10196be0]
xor eax, edi
xor eax, ebp
xor edi, edi
mov word [edx + esi], ax
mov eax, dword [0x10196be0]
mov di, word [eax + esi]
add esi, 2
cmp esi, 0xa
jb 0x100b5288
push 0x100bb340
mov word [eax + 0xa], 0
call fcn.1013c36b
add esp, 4
xor ebp, ebp
mov esi, dword [0x10196be0]
mov al, byte [esp + 0x10]
push esi
mov byte [esp + 0x18], al
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x14]
push eax
push esi
call fcn.1000bf40
mov eax, 0xd
mov bl, 0x26
mov word [esp + 0x38], ax
mov word [esp + 0x3e], ax
mov al, byte [0x10196be4]
mov byte [esp + 0x124], bl
test al, 1
mov word [esp + 0x34], 0x75
mov word [esp + 0x36], 0x2b
mov word [esp + 0x3a], 0xc
mov word [esp + 0x3c], 0xb
mov word [esp + 0x40], 7
mov word [esp + 0x42], 9
jne 0x100b53bc
or al, 1
push 0x12
mov byte [0x10196be4], al
call fcn.1013c2df
add esp, 4
mov dword [0x10196be8], eax
mov edi, 0x30
xor esi, esi
mov bp, word [esp + esi + 0x34]
push edi
mov ecx, ebp
and ecx, 0xffff
push ecx
mov ecx, 0x10196be8
call fcn.1004a650
mov edx, dword [0x10196be8]
xor eax, edi
xor eax, ebp
xor edi, edi
mov word [edx + esi], ax
mov eax, dword [0x10196be8]
mov di, word [eax + esi]
add esi, 2
cmp esi, 0x10
jb 0x100b536d
push 0x100bb330
mov word [eax + 0x10], 0
call fcn.1013c36b
add esp, 4
xor ebp, ebp
mov esi, dword [0x10196be8]
mov al, byte [esp + 0x10]
push esi
mov byte [esp + 0x28], al
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x24]
push eax
push esi
call fcn.1000bf40
lea ecx, [esp + 0x14]
lea edx, [esp + 0x24]
push ecx
push edx
lea ecx, [esp + 0x64]
mov byte [esp + 0x12c], 0x27
call fcn.101174d0
mov ecx, dword [esp + 0x28]
mov byte [esp + 0x124], bl
cmp ecx, ebp
je 0x100b5432
mov al, byte [ecx - 1]
test al, al
je 0x100b5426
cmp al, 0xff
je 0x100b5426
dec al
mov byte [ecx - 1], al
jmp 0x100b5432
lea eax, [ecx - 2]
push eax
call fcn.101307a0
add esp, 4
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
cmp ecx, ebp
mov byte [esp + 0x124], 5
je 0x100b546c
mov al, byte [ecx - 1]
test al, al
je 0x100b5460
cmp al, 0xff
je 0x100b5460
dec al
mov byte [ecx - 1], al
jmp 0x100b546c
lea eax, [ecx - 2]
push eax
call fcn.101307a0
add esp, 4
push 1
lea ecx, [esp + 0x70]
mov byte [esp + 0x128], 0x28
call fcn.1000bc70
mov ecx, dword [esp + 0x60]
mov byte [esp + 0x124], 2
cmp ecx, ebp
je 0x100b54ad
mov al, byte [ecx - 1]
test al, al
je 0x100b54a1
cmp al, 0xff
je 0x100b54a1
dec al
mov byte [ecx - 1], al
jmp 0x100b54ad
lea eax, [ecx - 2]
push eax
call fcn.101307a0
add esp, 4
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebp
cmp ecx, ebp
mov byte [esp + 0x124], 0
je 0x100b54ea
mov al, byte [ecx - 1]
test al, al
je 0x100b54de
cmp al, 0xff
je 0x100b54de
dec al
mov byte [ecx - 1], al
jmp 0x100b54ea
lea eax, [ecx - 2]
push eax
call fcn.101307a0
add esp, 4
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], ebp
mov dword [esp + 0x88], ebp
cmp ecx, ebp
mov dword [esp + 0x124], 0xffffffff
je 0x100b5533
mov al, byte [ecx - 1]
test al, al
je 0x100b5527
cmp al, 0xff
je 0x100b5527
dec al
mov byte [ecx - 1], al
jmp 0x100b5533
add ecx, 0xfffffffe
push ecx
call fcn.101307a0
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x11c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x118
ret