Function at 0x100b81bc
Capabilities:
Compare security identifiers
Get keyboard layout

Disassembly:
mov eax, 0x10147d5d
call fcn.1013e250
sub esp, 0x6d8
push ebx
mov ebx, ecx
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x18], 0xfffffffa
xor ecx, ecx
mov dword [ebp - 0x2ac], edx
xor edx, edx
mov dword [ebp - 0x44], 0x5cc7
inc ecx
mov dword [ebp - 0x18], ecx
push esi
mov dword [ebp - 0x5c], 0xdc4b
push edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x418], edx
mov dword [ebp - 0x18], edx
jmp 0x100b821a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1a4], 0x8bbca631
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100b8209
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], ecx
jg 0x100b837d
xor ebx, ebx
mov dword [ebp - 0x24], 0x94ff5452
mov dword [ebp - 0x1c], 0x3799040c
mov dword [ebp - 0x18], 0xde90
mov dword [ebp - 0x18], ebx
jmp 0x100b8259
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x434], 0xfffffff8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x100b8248
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x1a4]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1a4], ecx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x24], eax
jge 0x100b828d
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x1a4]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1a4]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1a4]
cmp eax, 1
setge cl
neg ecx
je 0x100b82c1
cmp dword [ebp - 0x18], ebx
je 0x100b82c1
xor ecx, ecx
inc ecx
jmp 0x100b82c3
mov ecx, ebx
mov eax, dword [ebp - 0x20]
cmp ecx, dword [ebp + eax*4 - 0x1a4]
je 0x100b82df
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x1a4], ebx
jne 0x100b82df
mov ecx, ebx
jmp 0x100b82e2
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 0xd3ed
setge al
cmp eax, 0x5ad058bb
jle 0x100b82fe
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1a4]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x1c], 0xfe64
mov ecx, dword [ebp - 0x20]
sub ecx, eax
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x18]
inc ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x44]
jne 0x100b8344
mov byte [ebp - 0x12], bl
cmp byte [ebp - 0x12], bl
je 0x100b836c
push ebx
push 0x1a9b
push ebx
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetLBound]
xor ecx, ecx
inc ecx
jmp 0x100b836c
mov dword [ebp - 0x1c], ebx
jmp 0x100b8367
mov byte [ebp - 0x12], bl
cmp byte [ebp - 0x12], bl
je 0x100b835b
push ebx
call dword [sym.imp.GDI32.dll_CreateBrushIndirect]
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x42c], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jle 0x100b8349
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jle 0x100b822e
mov ebx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, 0x209f
mov dword [ebp - 0x88], 7
mov dword [ebp - 0x8c], edx
setl cl
xor eax, eax
mov dword [ebp - 0x20], ecx
mov word [ebp - 0x9c], ax
xor cl, cl
mov dword [ebp - 4], edx
call fcn.10093bdb
test al, al
jne 0x100b83cf
xor cl, cl
call fcn.10093cd9
test al, al
jne 0x100b83cf
xor cl, cl
call fcn.10093e22
mov edx, 0x2300
test al, al
je 0x100b83d4
mov edx, 0x2301
push ecx
lea ecx, [ebp - 0x12c]
call fcn.10015709
pop ecx
push 2
lea ecx, [ebp - 0x36c]
mov byte [ebp - 4], 1
call fcn.10013ee8
mov dword [ebp - 0x18], 7
xor edx, edx
mov dword [ebp - 0x5c], 0x2c40a98c
mov dword [ebp - 0x18], edx
jmp 0x100b8416
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x36c]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100b8407
mov eax, dword [ebp - 0x36c]
push 0x18
mov dword [eax], edx
pop eax
mov dword [ebp - 0x18], eax
jmp 0x100b8454
mov byte [ebp - 0x12], dl
cmp byte [ebp - 0x12], 0
je 0x100b843e
push edx
call dword [sym.imp.USER32.dll_SetCursor]
xor edx, edx
mov byte [ebp - 0x12], dl
cmp byte [ebp - 0x12], 0
je 0x100b8451
push edx
push edx
call dword [sym.imp.ADVAPI32.dll_EqualSid]
xor edx, edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x1d
jg 0x100b842c
lea ecx, [ebp - 0x36c]
mov byte [ebp - 4], 1
call fcn.100144eb
cmp dword [ebp - 0x11c], 0
jne 0x100b84a5
lea eax, [ebp - 0x9c]
mov ecx, ebx
push eax
call fcn.10013e4f
push 0
push 1
lea ecx, [ebp - 0x12c]
call fcn.10014448
push 0
push 1
lea ecx, [ebp - 0x9c]
call fcn.10014448
mov eax, ebx
jmp 0x100ba2da
mov dword [ebp - 0x1c], 0xb743d837
mov eax, 0x643b8a2
mov dword [ebp - 0x24], 0xfa147b80
xor ecx, ecx
mov dword [ebp - 0x37c], eax
mov dword [ebp - 0x378], eax
mov dword [ebp - 0x374], eax
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x24], 0xfbe58499
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x37c], 0x6088
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov edi, dword [sym.imp.USER32.dll_GetDC]
sub eax, 0x279c
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sets cl
mov dword [ebp - 0x24], ecx
xor edx, edx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setg dl
sub dword [ebp - 0x1c], edx
mov byte [ebp - 0x12], 0
cmp byte [ebp - 0x12], 0
je 0x100b8533
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_SaveDC]
call fcn.10124df4
cdq
mov ecx, 0x72bf0
idiv ecx
mov dword [ebp - 0x24], 3
xor eax, eax
mov dword [ebp - 0x18], 0x19ac196a
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x58], 5
mov dword [ebp - 0x18], 0xfffffff9
lea esi, [edx + 0x7530]
mov byte [ebp - 0x12], al
mov dword [ebp - 0x44], esi
cmp byte [ebp - 0x12], al
je 0x100b85c0
push 0x7d0
push 0x1a45
push 0x1f12
push eax
push 0x144f
push 0xe65
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
push 0x370
push 0xdd2
push 0x26f7
push 0x1da5
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_MaskBlt]
xor eax, eax
mov dword [ebp - 0x18], eax
xor edx, edx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setg dl
xor eax, eax
add edx, dword [ebp - 0x24]
cmp edx, 0x4ad744d0
setl al
xor ecx, ecx
cmp eax, 0xb9a7
mov eax, dword [ebp - 0x18]
setne cl
sub eax, ecx
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setg dl
xor ecx, ecx
cmp eax, edx
mov edx, esi
setge cl
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0xb4]
call fcn.1004af16
push 2
pop edx
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 3
call fcn.10016696
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xb4]
cmp dword [ebp - 0xa0], 8
lea esi, [ebp - 0xb4]
mov eax, dword [ebp - 0xa4]
cmovae ecx, dword [ebp - 0xb4]
cmovae esi, dword [ebp - 0xb4]
lea edi, [ecx + eax*2]
cmp esi, edi
je 0x100b86cb
movzx ebx, word [esi]
call fcn.10015ef6
and eax, 1
lea ecx, [ebp - 0x620]
lea edx, [eax + 2]
call fcn.10016696
push eax
mov edx, ebx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x518]
call fcn.10015e47
pop ecx
push 0xffffffffffffffff
xor ebx, ebx
mov byte [ebp - 4], 6
push ebx
push eax
lea ecx, [ebp - 0x1bc]
call fcn.1002a04a
push ebx
push 1
lea ecx, [ebp - 0x518]
call fcn.10014448
push ebx
push 1
lea ecx, [ebp - 0x620]
mov byte [ebp - 4], 4
call fcn.10014448
add esi, 2
cmp esi, edi
jne 0x100b8660
mov ebx, dword [ebp - 0x28]
push ecx
mov edx, 0x224b
lea ecx, [ebp - 0x650]
call fcn.10015709
pop ecx
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x214]
push eax
mov byte [ebp - 4], 7
call fcn.100729cc
pop ecx
push 0
push 1
lea ecx, [ebp - 0x650]
mov byte [ebp - 4], 9
call fcn.10014448
xor ecx, ecx
mov dword [ebp - 0x20], 0x5a136951
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x18], ecx
jmp 0x100b8726
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x84], 0x8ec0ae97
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x100b8715
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ecx
jl 0x100b87c6
xor ebx, ebx
mov dword [ebp - 0x24], 0xbf0ddd9c
mov dword [ebp - 0x18], 1
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x84], ebx
jne 0x100b8770
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x84], ebx
jne 0x100b8770
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x84], ebx
jne 0x100b8770
mov esi, ebx
jmp 0x100b8773
xor esi, esi
inc esi
mov ecx, dword [ebp - 0x58]
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
add eax, 9
add ecx, eax
mov eax, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp + eax*4 - 0x84], esi
mov eax, dword [ebp - 0x18]
imul eax, ecx
xor ecx, ecx
cmp esi, eax
sete cl
mov dword [ebp - 0x18], ecx
dec dword [ebp - 0x20]
jns 0x100b873a
mov ebx, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x84], eax
mov eax, dword [0x110e4608]
test al, 1
jne 0x100b87fd
or eax, 1
mov dword [0x110e460c], ecx
push 0x1014ddad
mov dword [0x110e4608], eax
mov dword [0x110e4610], ecx
mov dword [0x110e4614], ecx
call fcn.1012065f
pop ecx
mov ecx, dword [0x110e460c]
mov edi, dword [0x110e4610]
cmp ecx, edi
jne 0x100b8aa3
xor eax, eax
mov dword [ebp - 0x284], 0x71027301
mov dword [ebp - 0x280], 0x2fd98012
mov ecx, eax
mov dword [ebp - 0x27c], 0x243e4540
mov esi, eax
mov dword [ebp - 0x278], 0x7b8f622a
mov dword [ebp - 0x274], 0x1e413690
mov dword [ebp - 0x270], 0x4204b5bb
mov dword [ebp - 0x26c], 0x6d034600
cmp ecx, 4
jne 0x100b886a
push 0x12
pop esi
push 0x14
pop ecx
jmp 0x100b889d
movzx eax, byte [ebp + ecx - 0x283]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100b888d
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x284]
mov word [ebp + eax*2 - 0x354], dx
add ecx, 2
cmp ecx, 0x1c
jb 0x100b885d
xor eax, eax
mov dword [ebp - 0x16c], 0x6e0d6000
mov word [ebp - 0x34a], ax
mov ecx, eax
mov dword [ebp - 0x168], 0xf15eb68d
mov esi, eax
mov dword [ebp - 0x164], 0xbe5a1ac4
mov word [ebp - 0x160], 0xb356
mov byte [ebp - 0x15e], 0xdf
cmp ecx, 2
jne 0x100b88ec
push 0xd
pop esi
push esi
pop ecx
jmp 0x100b891c
movzx eax, byte [ebp + ecx - 0x16b]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100b890f
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x16c]
mov word [ebp + eax*2 - 0x70], dx
add ecx, 2
cmp ecx, 0xf
jb 0x100b88e0
xor eax, eax
lea ecx, [ebp - 0x698]
mov word [ebp - 0x6e], ax
lea eax, [ebp - 0x70]
push eax
call fcn.10013e17
mov esi, eax
lea eax, [ebp - 0x354]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x488]
call fcn.10013e17
push eax
lea edx, [ebp - 0x12c]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x6e0]
call fcn.1002a022
pop ecx
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 0xc
push ecx
mov edx, eax
lea ecx, [ebp - 0x6b0]
call fcn.10029ffa
pop ecx
push esi
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x680]
call fcn.10038416
sub esp, 0x14
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x214]
mov ecx, esp
push edx
mov edx, eax
call fcn.10029ffa
pop ecx
lea ecx, [ebp - 0x440]
call fcn.10065ea7
add esp, 0x18
mov esi, 0x110e460c
mov byte [ebp - 4], 0xf
push eax
mov ecx, esi
call fcn.1003b49d
lea ecx, [ebp - 0x440]
call fcn.100146c8
push 0
push 1
lea ecx, [ebp - 0x680]
call fcn.10014448
push 0
push 1
lea ecx, [ebp - 0x6b0]
call fcn.10014448
push 0
push 1
lea ecx, [ebp - 0x6e0]
call fcn.10014448
push 0
push 1
lea ecx, [ebp - 0x488]
call fcn.10014448
push 0
push 1
lea ecx, [ebp - 0x698]
mov byte [ebp - 4], 9
call fcn.10014448
xor eax, eax
lea edi, [ebp - 0x354]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov ecx, dword [0x110e460c]
mov edi, dword [0x110e4610]
mov dword [ebp - 0x70], eax
cmp ecx, edi
jne 0x100b8aa3
mov byte [ebp - 0x45], al
mov eax, dword [0x110e4614]
sub eax, ecx
mov dword [0x110e4610], ecx
cmp eax, 1
jae 0x100b8a7e
push 1
mov ecx, esi
call fcn.10066012
mov edi, 0x110e460c
mov esi, eax
mov ecx, edi
call fcn.100146c8
push esi
mov ecx, edi
call fcn.10014681
mov ecx, dword [0x110e460c]
mov byte [ebp - 0x80], 0
lea edx, [ebp - 0x44]
push dword [ebp - 0x80]
push ecx
push ecx
lea ecx, [ebp - 0x45]
call fcn.100156aa
mov ecx, dword [0x110e460c]
mov edi, eax
add esp, 0xc
mov dword [0x110e4610], edi
sub edi, ecx
cmp edi, 0x5f
ja 0x100b8aea
lea eax, [ebp - 0x9c]
mov ecx, ebx
push eax
call fcn.10013e4f
push 0
push 1
lea ecx, [ebp - 0x214]
call fcn.10014448
push 0
push 1
lea ecx, [ebp - 0x1bc]
call fcn.10014448
push 0
push 1
lea ecx, [ebp - 0xb4]
call fcn.100372c8
jmp 0x100b8480
mov dword [ebp - 0x20], 1
lea ecx, [ebp - 0x3e8]
mov dword [ebp - 0x18], 3
push 4
call fcn.10013ee8
push 1
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 0x10
call fcn.10013ee8
xor edx, edx
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x1c], edx
jmp 0x100b8b30
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3e8]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x100b8b21
mov dword [ebp - 0x1c], edx
jmp 0x100b8b4e
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x348]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x100b8b3b
mov eax, dword [ebp - 0x20]
mov ecx, 0xe3cf9575
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
add eax, 0x39f7747
cmp ecx, eax
sbb eax, eax
neg eax
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
jne 0x100b8b84
cmp dword [ebp - 0x20], edx
jne 0x100b8b84
mov ecx, edx
jmp 0x100b8b87
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x18]
imul eax, ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], 0xfffffff0
cmp dword [ebp - 0x18], 0xffffffef
jge 0x100b8d76
push 0xfffffffffffffffd
pop esi
mov dword [ebp - 0x44], 0xfff6
lea ecx, [ebp - 0x3f4]
push 1
call fcn.10013ee8
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x314], esi
mov dword [ebp - 0x310], esi
mov dword [ebp - 0x30c], esi
mov dword [ebp - 0x1c], 0
jmp 0x100b8bf0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3f4]
mov dword [eax + ecx*4], 0xe1c2a91
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x100b8bdd
mov dword [ebp - 0x20], 0xffffffe2
cmp dword [ebp - 0x20], 0x11
jne 0x100b8d50
mov esi, 0xffff
mov dword [ebp - 0x1c], 5
lea ecx, [ebp - 0x324]
push 4
call fcn.10013ee8
mov dword [ebp - 0x24], 0
jmp 0x100b8c3c
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x324]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x100b8c29
mov eax, dword [ebp - 0x20]
cmp esi, eax
sbb eax, eax
neg eax
cmp eax, esi
mov eax, dword [ebp - 0x44]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setne dl
add edx, dword [ebp - 0x1c]
neg edx
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
neg edx
sbb edx, edx
sub eax, 8
inc edx
cmp eax, edx
je 0x100b8cc3
xor eax, eax
mov dword [ebp - 0x44], eax
jmp 0x100b8cb7
mov byte [ebp - 0x12], al
cmp byte [ebp - 0x12], 0
je 0x100b8c9e
push 0x1e31
push 0x5c1
push 0xbfd
push 0xfa1
call dword [sym.imp.GDI32.dll_CreateRectRgn]
xor eax, eax
mov byte [ebp - 0x12], al
cmp byte [ebp - 0x12], 0
je 0x100b8cb4
push 0x206
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
xor eax, eax
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], eax
jle 0x100b8c79
cmp dword [ebp - 0x1c], eax
je 0x100b8d2d
jmp 0x100b8d35
mov dword [ebp - 0x58], 0x20be
xor edx, edx
mov dword [ebp - 0x5c], 0xfffffff6
mov dword [ebp - 0x24], 0xc894628a
mov dword [ebp - 0x58], 0xbf7d
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x58]
cmp eax, ecx
setge dl
add edx, 0x7ba6da08
je 0x100b8d0d
cmp dword [ebp - 0x1c], 0xd983a5c2
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x1c]
jl 0x100b8d0d
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setl dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x310], ecx
mov eax, dword [ebp - 0x348]
dec dword [eax]
lea ecx, [ebp - 0x324]
call fcn.100144eb
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x11
je 0x100b8c0c
push 0xfffffffffffffffd
pop esi
mov dword [ebp - 0x318], 0
lea ecx, [ebp - 0x3f4]
mov byte [ebp - 4], 0x11
call fcn.100144eb
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffef
jl 0x100b8ba4
lea ecx, [ebp - 0x348]
call fcn.100144eb
lea ecx, [ebp - 0x3e8]
call fcn.100144eb
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov esi, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], eax
lea eax, [edi - 0x5e]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x34]
call fcn.100ba2eb
mov ecx, dword [0x110e460c]
lea edx, [ebp - 0x34]
and dword [ebp - 0x80], esi
mov dword [ebp - 0x2a8], edx
xor edx, edx
lea eax, [ecx - 0x10]
add ecx, 0x4e
add eax, edi
mov edi, eax
sub edi, ecx
cmp ecx, eax
cmova edi, edx
test edi, edi
je 0x100b8e03
mov esi, dword [ebp - 0x80]
mov ebx, ecx
mov al, byte [ebx]
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x11]
push eax
call fcn.100ba616
inc ebx
inc esi
cmp esi, edi
jne 0x100b8de3
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x70]
mov edi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
sub edi, edx
push 0
pop eax
mov ecx, eax
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x24], ecx
je 0x100b9026
movzx eax, byte [edx + ecx]
inc eax
lea eax, [ecx + eax*2]
cmp eax, edi
jae 0x100b90c7
movzx edx, byte [edx + eax]
lea esi, [ecx + 0x200]
add esi, edx
cmp edi, esi
cmovb esi, edi
mov edi, esi
mov dword [ebp - 0x5c], esi
sub edi, ecx
cmp edx, edi
jae 0x100b90c7
mov eax, edi
sub eax, edx
sub eax, 2
shr eax, 1
mov dword [ebp - 0x58], eax
xor eax, eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
push edi
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x16
call fcn.100ba2eb
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x68]
add esi, eax
mov dword [ebp - 0x6c], ecx
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x2a8], eax
cmp eax, esi
je 0x100b8ead
mov ebx, eax
push ebx
lea ecx, [ebp - 0x6c]
call fcn.100ba616
inc ebx
cmp ebx, esi
jne 0x100b8e9c
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x58]
lea ecx, [ebp - 0x114]
push esi
call fcn.100ba313
mov eax, dword [ebp - 0x68]
movzx ecx, byte [eax]
mov dl, byte [edi + eax - 1]
dec edi
mov dword [ebp - 0x6c], ecx
cmp ecx, esi
jae 0x100b90a1
mov cl, byte [eax + 1]
call fcn.10014e4b
mov ecx, dword [ebp - 0x114]
mov edx, dword [ebp - 0x6c]
push 2
pop esi
movzx eax, al
mov word [ecx + edx*2], ax
cmp edi, esi
jbe 0x100b8f64
mov edx, dword [ebp - 0x68]
and dword [ebp - 0x24], 0
movzx eax, byte [edx]
lea eax, [eax*2 + 2]
cmp esi, eax
jne 0x100b8f14
movzx eax, byte [esi + edx]
inc eax
add esi, eax
mov dword [ebp - 0x24], eax
cmp esi, edi
jae 0x100b8f64
movzx eax, byte [esi + edx]
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x6c], eax
cmp eax, edx
jae 0x100b8fe1
mov ebx, dword [ebp - 0x68]
mov eax, esi
sub eax, dword [ebp - 0x24]
movzx eax, byte [eax + ebx - 2]
mov ebx, dword [ebp - 0x28]
cmp eax, edx
jae 0x100b8fe1
mov dl, byte [ecx + eax*2]
mov eax, dword [ebp - 0x68]
mov cl, byte [esi + eax + 1]
call fcn.10014e4b
mov ecx, dword [ebp - 0x114]
add esi, 2
mov edx, dword [ebp - 0x6c]
movzx eax, al
mov word [ecx + edx*2], ax
cmp esi, edi
jb 0x100b8ef1
push dword [ebp - 0x2ac]
push dword [ebp - 0x110]
push ecx
push dword [ebp - 0x70]
lea ecx, [ebp - 0x54]
call fcn.100ba49f
mov eax, dword [ebp - 0x114]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x24], esi
test eax, eax
je 0x100b8fa9
push eax
call fcn.10120696
xor eax, eax
pop ecx
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
jmp 0x100b8fab
xor eax, eax
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0x68], 0
je 0x100b8fc9
push dword [ebp - 0x68]
call fcn.10120696
xor eax, eax
pop ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov edi, dword [ebp - 0x80]
cmp esi, edi
jae 0x100b9023
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x70], eax
jmp 0x100b8e1c
lea eax, [ebp - 0x9c]
mov ecx, ebx
push eax
call fcn.10013e4f
mov eax, dword [ebp - 0x114]
test eax, eax
je 0x100b9000
push eax
call fcn.10120696
pop ecx
cmp dword [ebp - 0x68], 0
je 0x100b90d5
push dword [ebp - 0x68]
call fcn.10120696
xor eax, eax
pop ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
jmp 0x100b90d5
mov esi, dword [ebp - 0x50]
push dword [ebp - 0x2ac]
mov ebx, dword [ebp - 0x54]
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 0x2b8], eax
xor eax, eax
push esi
push ebx
mov dword [ebp - 0x2b4], 7
mov word [ebp - 0x2c8], ax
call fcn.100ba5a6
sub esi, ebx
mov byte [ebp - 4], 0x17
sar esi, 1
je 0x100b906e
xor eax, eax
mov ecx, esi
shr ecx, 1
mov edi, ebx
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
xor ebx, ebx
mov dword [ebp - 0xfc], 0x300a0b00
mov dword [ebp - 0xf8], 0x2d6fb094
mov ecx, ebx
mov dword [ebp - 0xf4], 0xb33cca73
mov esi, ebx
cmp ecx, 2
jne 0x100b9108
push 0xa
pop esi
push esi
pop ecx
jmp 0x100b913b
lea eax, [ebp - 0x9c]
mov ecx, ebx
push eax
call fcn.10013e4f
cmp dword [ebp - 0x114], 0
je 0x100b9000
push dword [ebp - 0x114]
jmp 0x100b8ffa
lea eax, [ebp - 0x9c]
mov ecx, ebx
push eax
call fcn.10013e4f
cmp dword [ebp - 0x54], 0
je 0x100b90e4
push dword [ebp - 0x54]
call fcn.10120696
pop ecx
cmp dword [ebp - 0x34], 0
je 0x100b9100
push dword [ebp - 0x34]
call fcn.10120696
xor eax, eax
pop ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
jmp 0x100b9102
xor eax, eax
push eax
jmp 0x100b8aba
movzx eax, byte [ebp + ecx - 0xfb]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100b912b
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xfc]
mov word [ebp + eax*2 - 0x2b0], dx
add ecx, 2
cmp ecx, 0xc
jb 0x100b9092
xor eax, eax
lea ecx, [ebp - 0x4b8]
mov word [ebp - 0x2ae], ax
lea eax, [ebp - 0x2b0]
push eax
call fcn.10013e17
push 0x18
pop ecx
mov byte [ebp - 4], cl
cmp dword [eax + 0x14], 8
jb 0x100b9170
mov eax, dword [eax]
movzx eax, word [eax]
lea edx, [ebp - 0x2c8]
push eax
lea ecx, [ebp - 0x7c]
call fcn.1007b60c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x4b8]
mov byte [ebp - 4], 0x1a
call fcn.10014448
mov esi, dword [ebp - 0x7c]
xor eax, eax
mov ebx, dword [ebp - 0x78]
mov dword [ebp - 0x2b0], eax
cmp esi, ebx
je 0x100ba25a
mov dword [ebp - 0x15c], 0xee0c2100
mov dword [ebp - 0x158], 0x227aada7
mov dword [ebp - 0x154], 0x65ab70ee
mov word [ebp - 0x150], 0x70ea
mov ecx, eax
mov edi, eax
movzx eax, al
lea eax, [eax*2 + 2]
mov dword [ebp - 0x6c], eax
cmp ecx, eax
jne 0x100b91ef
push 0xc
pop edi
add ecx, 0xa
jmp 0x100b9225
movzx eax, byte [ebp + ecx - 0x15b]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b9212
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x15c]
mov word [ebp + eax*2 - 0x2cc], dx
mov eax, dword [ebp - 0x6c]
add ecx, 2
cmp ecx, 0xe
jb 0x100b91e3
xor eax, eax
lea ecx, [ebp - 0x5d8]
mov word [ebp - 0x2ca], ax
lea eax, [ebp - 0x2cc]
push eax
call fcn.10013e17
mov byte [ebp - 4], 0x1b
cmp dword [eax + 0x14], 8
jb 0x100b9254
mov eax, dword [eax]
movzx eax, word [eax]
lea ecx, [ebp - 0x40]
push eax
mov edx, esi
call fcn.1007b60c
pop ecx
xor eax, eax
mov byte [ebp - 4], 0x1d
push eax
push 1
lea ecx, [ebp - 0x5d8]
call fcn.10014448
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
sub eax, dword [ebp - 0x40]
push 0x18
cdq
pop edi
idiv edi
mov dword [ebp - 0x2cc], ecx
cmp eax, 4
jne 0x100ba252
mov eax, dword [ebp - 0x2ac]
mov edx, 0x22cd
cmp eax, edx
jg 0x100b9b0f
je 0x100b9a3e
add edx, 0xffffffe7
cmp eax, edx
jg 0x100b96e1
je 0x100b9619
sub eax, 0x22b0
je 0x100b9546
dec eax
je 0x100b947a
dec eax
je 0x100b939c
dec eax
jne 0x100ba15d
mov dword [ebp - 0x13c], 0x68036802
mov edi, eax
mov dword [ebp - 0x138], 0x5056901
mov dword [ebp - 0x134], 0xb05c4b
mov byte [ebp - 0x130], 0x6c
cmp ecx, 6
jne 0x100b9312
push 5
pop edi
add ecx, 3
jmp 0x100b9345
movzx eax, byte [ebp + ecx - 0x13b]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b9335
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x13c]
mov word [ebp + eax*2 - 0x308], dx
add ecx, 2
cmp ecx, 0xd
jb 0x100b9305
xor eax, eax
lea ecx, [ebp - 0x4e8]
mov word [ebp - 0x300], ax
lea eax, [ebp - 0x308]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x4e8]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba17d
xor eax, eax
lea edi, [ebp - 0x308]
jmp 0x100ba159
xor eax, eax
mov dword [ebp - 0x24c], 0xd70e7a00
mov dword [ebp - 0x248], 0x460069d0
mov edi, eax
mov dword [ebp - 0x244], 0x886128bf
mov dword [ebp - 0x240], 0xd603e0d
mov dword [ebp - 0x23c], 0x66016703
mov dword [ebp - 0x238], 0x77027f05
mov word [ebp - 0x234], 0x7004
cmp ecx, 2
jne 0x100b93f2
push 0xe
pop edi
add ecx, 0xc
jmp 0x100b9425
movzx eax, byte [ebp + ecx - 0x24b]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b9415
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x24c]
mov word [ebp + eax*2 - 0x3dc], dx
add ecx, 2
cmp ecx, 0x1a
jb 0x100b93e5
xor eax, eax
lea ecx, [ebp - 0x668]
mov word [ebp - 0x3d0], ax
lea eax, [ebp - 0x3dc]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x668]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba199
lea edi, [ebp - 0x3dc]
jmp 0x100ba156
xor eax, eax
mov dword [ebp - 0x19c], 0x64047303
mov dword [ebp - 0x198], 0x6c027501
mov edi, eax
mov dword [ebp - 0x194], 0xc82a005
mov word [ebp - 0x190], 0x53
mov byte [ebp - 0x18e], 0x78
cmp ecx, 8
jne 0x100b94b9
push 5
pop edi
add ecx, 3
jmp 0x100b94ec
movzx eax, byte [ebp + ecx - 0x19b]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b94dc
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x19c]
mov word [ebp + eax*2 - 0x33c], dx
add ecx, 2
cmp ecx, 0xf
jb 0x100b94ac
xor eax, eax
lea ecx, [ebp - 0x458]
mov word [ebp - 0x332], ax
lea eax, [ebp - 0x33c]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x458]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba199
lea edi, [ebp - 0x33c]
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
jmp 0x100ba15d
push 0x18
pop eax
mov byte [ebp - 0x1c4], al
xor eax, eax
mov dword [ebp - 0x1d0], 0x66007302
mov edi, eax
mov dword [ebp - 0x1cc], 0x9077204
mov dword [ebp - 0x1c8], 0x1dfed44b
mov dword [ebp - 0x1c3], 0x71017603
mov word [ebp - 0x1bf], 0x7005
cmp ecx, 6
jne 0x100b9591
push 7
pop edi
add ecx, 5
jmp 0x100b95c4
movzx eax, byte [ebp + ecx - 0x1cf]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b95b4
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x1d0]
mov word [ebp + eax*2 - 0x38c], dx
add ecx, 2
cmp ecx, 0x13
jb 0x100b9584
xor eax, eax
lea ecx, [ebp - 0x608]
mov word [ebp - 0x380], ax
lea eax, [ebp - 0x38c]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x608]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba199
lea edi, [ebp - 0x38c]
jmp 0x100ba156
xor eax, eax
mov dword [ebp - 0x18c], 0x72056603
mov dword [ebp - 0x188], 0x70016b04
mov edi, eax
mov dword [ebp - 0x184], 0x67b0201
mov word [ebp - 0x180], 0x83
mov byte [ebp - 0x17e], 0x73
cmp ecx, 8
jne 0x100b9656
xor edi, edi
inc edi
dec ecx
jmp 0x100b9689
movzx eax, byte [ebp + ecx - 0x18b]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b9679
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x18c]
mov word [ebp + eax*2 - 0x414], dx
add ecx, 2
cmp ecx, 0xf
jb 0x100b964b
xor eax, eax
lea ecx, [ebp - 0x548]
mov word [ebp - 0x406], ax
lea eax, [ebp - 0x414]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x548]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba17d
lea edi, [ebp - 0x414]
xor eax, eax
stosd dword es:[edi], eax
jmp 0x100b953e
sub eax, 0x22b5
je 0x100b9981
sub eax, 0x15
je 0x100b9892
dec eax
je 0x100b97df
dec eax
jne 0x100ba15d
mov dword [ebp - 0x268], 0x72006204
mov edi, eax
mov dword [ebp - 0x264], 0x6c027703
mov dword [ebp - 0x260], 0xcd107901
mov dword [ebp - 0x25c], 0x4790c66
mov dword [ebp - 0x258], 0xce340e1e
mov dword [ebp - 0x254], 0x505eb208
mov word [ebp - 0x250], 0xd6cb
cmp ecx, 0xa
jne 0x100b9757
push 0x10
pop edi
add ecx, 0xe
jmp 0x100b978a
movzx eax, byte [ebp + ecx - 0x267]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b977a
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x268]
mov word [ebp + eax*2 - 0x360], dx
add ecx, 2
cmp ecx, 0x1a
jb 0x100b974a
xor eax, eax
lea ecx, [ebp - 0x6c8]
mov word [ebp - 0x356], ax
lea eax, [ebp - 0x360]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x6c8]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba23c
lea edi, [ebp - 0x360]
jmp 0x100b953c
mov dword [ebp - 0xe4], 0x68006603
mov edi, ecx
mov dword [ebp - 0xe0], 0x6e026901
mov word [ebp - 0xdc], 0xb802
cmp ecx, 8
jne 0x100b9808
push 2
pop edi
jmp 0x100b983b
movzx eax, byte [ebp + ecx - 0xe3]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b982b
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xe4]
mov word [ebp + eax*2 - 0x2f0], dx
add ecx, 2
cmp ecx, 0xa
jb 0x100b97fe
xor eax, eax
lea ecx, [ebp - 0x578]
mov word [ebp - 0x2e8], ax
lea eax, [ebp - 0x2f0]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x578]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba23c
xor eax, eax
lea edi, [ebp - 0x2f0]
jmp 0x100ba159
xor eax, eax
mov dword [ebp - 0x2a4], 0xc5136400
mov dword [ebp - 0x2a0], 0xcf150591
mov edi, eax
mov dword [ebp - 0x29c], 0xc5326b50
mov dword [ebp - 0x298], 0x214241c7
mov dword [ebp - 0x294], 0x1f35fc53
mov dword [ebp - 0x290], 0x2680512
mov dword [ebp - 0x28c], 0x36f0177
mov word [ebp - 0x288], 0x478
mov byte [ebp - 0x286], 0x78
cmp ecx, 2
jne 0x100b98f9
push 0x13
pop edi
add ecx, 0x11
jmp 0x100b992c
movzx eax, byte [ebp + ecx - 0x2a3]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b991c
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x2a4]
mov word [ebp + eax*2 - 0x3bc], dx
add ecx, 2
cmp ecx, 0x1f
jb 0x100b98ec
xor eax, eax
lea ecx, [ebp - 0x638]
mov word [ebp - 0x3b0], ax
lea eax, [ebp - 0x3bc]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x638]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba23c
lea edi, [ebp - 0x3bc]
jmp 0x100ba156
xor eax, eax
mov dword [ebp - 0xd8], 0x64007701
mov dword [ebp - 0xd4], 0x3fbcab04
mov edi, eax
mov word [ebp - 0xd0], 0x6c02
cmp ecx, 4
jne 0x100b99ae
push ecx
pop edi
add ecx, 2
jmp 0x100b99e1
movzx eax, byte [ebp + ecx - 0xd7]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b99d1
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xd8]
mov word [ebp + eax*2 - 0x2d4], dx
add ecx, 2
cmp ecx, 0xa
jb 0x100b99a2
xor eax, eax
lea ecx, [ebp - 0x5a8]
mov word [ebp - 0x2ce], ax
lea eax, [ebp - 0x2d4]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x5a8]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba17d
xor eax, eax
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2d0], eax
jmp 0x100ba15d
xor eax, eax
mov dword [ebp - 0x1e4], 0x64016604
mov dword [ebp - 0x1e0], 0x7f057e00
mov edi, eax
mov dword [ebp - 0x1dc], 0x4076d03
mov dword [ebp - 0x1d8], 0xfb010652
mov word [ebp - 0x1d4], 0x2ba
mov byte [ebp - 0x1d2], 0x79
cmp ecx, 0xa
jne 0x100b9a87
push 7
pop edi
add ecx, 5
jmp 0x100b9aba
movzx eax, byte [ebp + ecx - 0x1e3]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b9aaa
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x1e4]
mov word [ebp + eax*2 - 0x3ac], dx
add ecx, 2
cmp ecx, 0x13
jb 0x100b9a7a
xor eax, eax
lea ecx, [ebp - 0x470]
mov word [ebp - 0x3a0], ax
lea eax, [ebp - 0x3ac]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x470]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba23c
lea edi, [ebp - 0x3ac]
jmp 0x100ba156
mov edx, 0x22fb
cmp eax, edx
jg 0x100b9f00
je 0x100b9e5d
sub eax, 0x22ce
je 0x100b9d81
dec eax
je 0x100b9cc7
sub eax, 0x2a
je 0x100b9c0b
dec eax
jne 0x100ba15d
mov dword [ebp - 0x17c], 0x68036501
mov edi, eax
mov dword [ebp - 0x178], 0x12a41e07
mov dword [ebp - 0x174], 0x2fd3037
mov word [ebp - 0x170], 0x6c
mov byte [ebp - 0x16e], 0x6c
cmp ecx, 4
jne 0x100b9b81
push 7
pop edi
add ecx, 5
jmp 0x100b9bb4
movzx eax, byte [ebp + ecx - 0x17b]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b9ba4
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x17c]
mov word [ebp + eax*2 - 0x2fc], dx
add ecx, 2
cmp ecx, 0xf
jb 0x100b9b74
xor eax, eax
lea ecx, [ebp - 0x4a0]
mov word [ebp - 0x2f4], ax
lea eax, [ebp - 0x2fc]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x4a0]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba247
xor eax, eax
lea edi, [ebp - 0x2fc]
jmp 0x100ba159
xor eax, eax
mov dword [ebp - 0x14c], 0x6b016605
mov dword [ebp - 0x148], 0x74047702
mov edi, eax
mov dword [ebp - 0x144], 0x7a036c00
mov byte [ebp - 0x140], 1
cmp ecx, 0xc
jne 0x100b9c3f
xor edi, edi
inc edi
dec ecx
jmp 0x100b9c72
movzx eax, byte [ebp + ecx - 0x14b]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b9c62
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x14c]
mov word [ebp + eax*2 - 0x3cc], dx
add ecx, 2
cmp ecx, 0xd
jb 0x100b9c34
xor eax, eax
lea ecx, [ebp - 0x4d0]
mov word [ebp - 0x3c0], ax
lea eax, [ebp - 0x3cc]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x4d0]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba247
lea edi, [ebp - 0x3cc]
jmp 0x100ba156
xor eax, eax
mov dword [ebp - 0xc0], 0x64006802
mov dword [ebp - 0xbc], 0x43037b01
mov edi, eax
mov byte [ebp - 0xb8], 0x99
cmp ecx, 6
jne 0x100b9cf1
push 3
pop edi
inc ecx
jmp 0x100b9d24
movzx eax, byte [ebp + ecx - 0xbf]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b9d14
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xc0]
mov word [ebp + eax*2 - 0x2dc], dx
add ecx, 2
cmp ecx, 9
jb 0x100b9ce6
xor eax, eax
lea ecx, [ebp - 0x500]
mov word [ebp - 0x2d6], ax
lea eax, [ebp - 0x2dc]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x500]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba23c
xor eax, eax
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 0x2d8], eax
jmp 0x100ba15d
xor eax, eax
mov dword [ebp - 0x230], 0x75026704
mov dword [ebp - 0x22c], 0x76056e01
mov edi, eax
mov dword [ebp - 0x228], 0x6a0b8106
mov dword [ebp - 0x224], 0x8a7cc449
mov dword [ebp - 0x220], 0xc5f773b2
mov dword [ebp - 0x21c], 0x70033a
mov byte [ebp - 0x218], 0x73
cmp ecx, 0xa
jne 0x100b9dd5
push 0xb
pop edi
add ecx, 9
jmp 0x100b9e08
movzx eax, byte [ebp + ecx - 0x22f]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b9df8
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x230]
mov word [ebp + eax*2 - 0x428], dx
add ecx, 2
cmp ecx, 0x19
jb 0x100b9dc8
xor eax, eax
lea ecx, [ebp - 0x530]
mov word [ebp - 0x41a], ax
lea eax, [ebp - 0x428]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x530]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba23c
lea edi, [ebp - 0x428]
jmp 0x100b96d9
mov dword [ebp - 0xcc], 0x75036602
mov edx, ecx
mov dword [ebp - 0xc8], 0x77017400
mov word [ebp - 0xc4], 0x6a04
movzx ecx, byte [ebp + edx - 0xcb]
sub ecx, edx
dec ecx
jns 0x100b9e9b
or eax, 0xffffffff
sub eax, ecx
add ecx, 0x100
and eax, 0xffffff00
add ecx, eax
movzx eax, byte [ebp + edx - 0xcc]
add edx, 2
mov word [ebp + eax*2 - 0x330], cx
cmp edx, 0xa
jb 0x100b9e7c
xor eax, eax
lea ecx, [ebp - 0x560]
mov word [ebp - 0x326], ax
lea eax, [ebp - 0x330]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x560]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba247
lea edi, [ebp - 0x330]
jmp 0x100b953c
sub eax, 0x22fc
je 0x100ba0b7
dec eax
je 0x100b9fdc
dec eax
jne 0x100ba15d
mov dword [ebp - 0xf0], 0x64007701
mov edi, eax
mov dword [ebp - 0xec], 0x8e62a005
mov word [ebp - 0xe8], 0x223
mov byte [ebp - 0xe6], 0x6c
cmp ecx, 4
jne 0x100b9f4c
push 5
pop edi
add ecx, 3
jmp 0x100b9f7f
movzx eax, byte [ebp + ecx - 0xef]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b9f6f
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xf0]
mov word [ebp + eax*2 - 0x2e4], dx
add ecx, 2
cmp ecx, 0xb
jb 0x100b9f3f
xor eax, eax
lea ecx, [ebp - 0x590]
mov word [ebp - 0x2de], ax
lea eax, [ebp - 0x2e4]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x590]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba247
xor eax, eax
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x2e0], eax
jmp 0x100ba15d
xor eax, eax
mov dword [ebp - 0x1fc], 0x72056603
mov dword [ebp - 0x1f8], 0x6d047d06
mov edi, eax
mov dword [ebp - 0x1f4], 0xd0c59409
mov dword [ebp - 0x1f0], 0xbc09c688
mov dword [ebp - 0x1ec], 0x7201e0
mov word [ebp - 0x1e8], 0x271
mov byte [ebp - 0x1e6], 0x7f
cmp ecx, 8
jne 0x100ba02f
push 9
pop edi
add ecx, 7
jmp 0x100ba062
movzx eax, byte [ebp + ecx - 0x1fb]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100ba052
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x1fc]
mov word [ebp + eax*2 - 0x404], dx
add ecx, 2
cmp ecx, 0x17
jb 0x100ba022
xor eax, eax
lea ecx, [ebp - 0x5c0]
mov word [ebp - 0x3f6], ax
lea eax, [ebp - 0x404]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x5c0]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba247
lea edi, [ebp - 0x404]
jmp 0x100b96d9
mov dword [ebp - 0x108], 0x64016604
mov edx, ecx
mov dword [ebp - 0x104], 0x75027d05
mov dword [ebp - 0x100], 0x84006d03
movzx ecx, byte [ebp + edx - 0x107]
sub ecx, edx
dec ecx
jns 0x100ba0f6
or eax, 0xffffffff
sub eax, ecx
add ecx, 0x100
and eax, 0xffffff00
add ecx, eax
movzx eax, byte [ebp + edx - 0x108]
add edx, 2
mov word [ebp + eax*2 - 0x39c], cx
cmp edx, 0xc
jb 0x100ba0d7
xor eax, eax
lea ecx, [ebp - 0x5f0]
mov word [ebp - 0x390], ax
lea eax, [ebp - 0x39c]
push eax
call fcn.10013e17
mov ecx, dword [ebp - 0x40]
mov edx, eax
call fcn.1002959c
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x5f0]
xor eax, eax
push eax
push 1
call fcn.10014448
cmp byte [ebp - 0x11], 0
jne 0x100ba247
lea edi, [ebp - 0x39c]
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x1a
call fcn.10029f2c
push 0x18
pop eax
add esi, eax
cmp esi, ebx
je 0x100ba25a
xor eax, eax
jmp 0x100b91d2
mov eax, dword [ebp - 0x40]
add eax, 0x48
mov ecx, dword [ebp - 0x28]
push eax
call fcn.10013ddc
lea ecx, [ebp - 0x40]
call fcn.10029f2c
jmp 0x100ba269
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x28]
add eax, 0x48
push eax
mov ecx, esi
call fcn.10013ddc
lea ecx, [ebp - 0x40]
call fcn.10029f2c
lea ecx, [ebp - 0x7c]
call fcn.10029f2c
xor ebx, ebx
lea ecx, [ebp - 0x2c8]
push ebx
push 1
call fcn.10014448
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x100ba1d8
push eax
call fcn.10120696
pop ecx
cmp dword [ebp - 0x34], ebx
je 0x100ba1ef
push dword [ebp - 0x34]
call fcn.10120696
pop ecx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
push ebx
push 1
lea ecx, [ebp - 0x214]
call fcn.10014448
push ebx
push 1
lea ecx, [ebp - 0x1bc]
call fcn.10014448
push ebx
push 1
lea ecx, [ebp - 0xb4]
call fcn.100372c8
push ebx
push 1
lea ecx, [ebp - 0x12c]
call fcn.10014448
push ebx
push 1
lea ecx, [ebp - 0x9c]
call fcn.10014448
mov eax, esi
jmp 0x100ba2da
mov eax, dword [ebp - 0x40]
add eax, 0x18
jmp 0x100ba183
mov eax, dword [ebp - 0x40]
add eax, 0x30
jmp 0x100ba183
lea ecx, [ebp - 0x40]
call fcn.10029f2c
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x9c]
push eax
call fcn.10013e4f
lea ecx, [ebp - 0x7c]
call fcn.10029f2c
xor ebx, ebx
lea ecx, [ebp - 0x2c8]
push ebx
push 1
call fcn.10014448
lea ecx, [ebp - 0x54]
call fcn.100144eb
lea ecx, [ebp - 0x34]
call fcn.100144eb
push ebx
push 1
lea ecx, [ebp - 0x214]
call fcn.10014448
push ebx
push 1
lea ecx, [ebp - 0x1bc]
call fcn.10014448
push ebx
push 1
lea ecx, [ebp - 0xb4]
call fcn.100372c8
push ebx
push 1
lea ecx, [ebp - 0x12c]
call fcn.10014448
push ebx
push 1
lea ecx, [ebp - 0x9c]
call fcn.10014448
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret