Function at 0x100b6b2e
Capabilities:
Query environment variable

Disassembly:
mov eax, 0x1014d0b4
call fcn.1014399c
sub esp, 0x6d8
push ebx
mov ebx, ecx
mov dword [ebp - 0x2d8], edx
xor ecx, ecx
mov dword [ebp - 0x28], ebx
push esi
xor eax, eax
mov dword [ebp - 0x41c], ecx
push edi
mov dword [ebp - 0x84], 7
mov dword [ebp - 0x88], ecx
mov word [ebp - 0x98], ax
mov dword [ebp - 4], ecx
xor cl, cl
call fcn.10092e9c
test al, al
jne 0x100b6b96
xor cl, cl
call fcn.10092fc7
test al, al
jne 0x100b6b96
xor cl, cl
call fcn.100930f3
mov edx, 0x21e4
test al, al
je 0x100b6b9b
mov edx, 0x21e5
push ecx
lea ecx, [ebp - 0xd4]
call fcn.1001591b
pop ecx
mov byte [ebp - 4], 1
cmp dword [ebp - 0xc4], 0
jne 0x100b6be8
lea eax, [ebp - 0x98]
mov ecx, ebx
push eax
call fcn.1001410c
xor esi, esi
lea ecx, [ebp - 0xd4]
push esi
push 1
call fcn.10014706
push esi
push 1
lea ecx, [ebp - 0x98]
call fcn.10014706
mov eax, ebx
jmp 0x100b8b79
mov dword [ebp - 0x18], 0x3248c66
lea ecx, [ebp - 0x320]
mov dword [ebp - 0x24], 0xba6b42be
mov dword [ebp - 0x24], 0x551fa4c8
push 4
call fcn.100141a5
mov dword [ebp - 0x24], 0x91c84132
mov dword [ebp - 0x24], 0x72d50fa8
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x2c], 0x914a
mov dword [ebp - 0x48], 0
jmp 0x100b6c42
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x320]
mov dword [eax + ecx*4], 0x5bb08661
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 4
jl 0x100b6c2f
mov eax, dword [ebp - 0x18]
xor ebx, ebx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
inc ecx
cmp ecx, eax
setge bl
xor edx, edx
sub ebx, dword [ebp - 0x18]
sub ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ebx, 0x2717
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x24]
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp edx, eax
mov edx, 0x1215
setge cl
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, edx
mov esi, dword [ebp - 0x320]
setl cl
add ecx, dword [ebp - 0x18]
mov dword [esi + 8], edx
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 3
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, 0xffffffff
setg cl
xor ebx, ebx
cmp ecx, edx
je 0x100b6cd5
cmp dword [esi + 8], ebx
jne 0x100b6cd5
xor esi, esi
mov eax, ebx
inc esi
jmp 0x100b6cda
xor esi, esi
inc esi
mov eax, esi
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100b6cf2
call dword [sym.imp.USER32.dll_WaitMessage]
push dword [ebp - 0x320]
call fcn.10123626
pop ecx
mov dword [ebp - 0x320], ebx
mov dword [ebp - 0x31c], ebx
mov dword [ebp - 0x318], ebx
call fcn.10127df4
cdq
mov ecx, 0x72bf0
idiv ecx
mov dword [ebp - 0x20], 0x68ec0ae9
mov dword [ebp - 0x24], 0xbf2d3f50
mov dword [ebp - 0x20], 0x1b
cmp dword [ebp - 0x20], 0xfffffffa
lea ebx, [edx + 0x7530]
mov dword [ebp - 0x2c], ebx
jle 0x100b6d9a
xor ecx, ecx
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x48], ecx
jmp 0x100b6d5c
mov eax, dword [ebp - 0x48]
mov dword [ebp + eax*4 - 0x60c], esi
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 3
jl 0x100b6d4f
mov dword [ebp - 0x18], ecx
jmp 0x100b6d6f
cmp dword [ebp - 0x18], ecx
jne 0x100b6d75
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x100b6d67
mov byte [ebp - 0x19], cl
cmp byte [ebp - 0x19], 0
je 0x100b6d91
push 0x1769
push 0xe14
push ecx
call dword [sym.imp.USER32.dll_RemoveMenu]
xor ecx, ecx
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffffa
jg 0x100b6d43
mov edx, ebx
mov dword [ebp - 0x24], esi
lea ecx, [ebp - 0xb0]
call fcn.1004934f
push 2
pop edx
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 2
call fcn.100162fe
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xb0]
cmp dword [ebp - 0x9c], 8
lea esi, [ebp - 0xb0]
mov eax, dword [ebp - 0xa0]
cmovae ecx, dword [ebp - 0xb0]
cmovae esi, dword [ebp - 0xb0]
lea edi, [ecx + eax*2]
cmp esi, edi
je 0x100b6e59
movzx ebx, word [esi]
call fcn.10015e25
and eax, 1
lea ecx, [ebp - 0x684]
lea edx, [eax + 2]
call fcn.100162fe
push eax
mov edx, ebx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x654]
call fcn.10015d76
pop ecx
push 0xffffffffffffffff
xor ebx, ebx
mov byte [ebp - 4], 5
push ebx
push eax
lea ecx, [ebp - 0x168]
call fcn.10028a9a
push ebx
push 1
lea ecx, [ebp - 0x654]
call fcn.10014706
push ebx
push 1
lea ecx, [ebp - 0x684]
mov byte [ebp - 4], 3
call fcn.10014706
add esi, 2
cmp esi, edi
jne 0x100b6dee
mov ebx, dword [ebp - 0x2c]
push 2
lea ecx, [ebp - 0x2f0]
call fcn.100141a5
mov byte [ebp - 4], 6
xor esi, esi
mov dword [ebp - 0x24], 0xfffffff6
mov dword [ebp - 0x20], esi
jmp 0x100b6e8b
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2f0]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x100b6e78
mov dword [ebp - 0x24], 1
cmp dword [ebp - 0x24], esi
jl 0x100b6fd7
xor ebx, ebx
push 1
lea ecx, [ebp - 0x32c]
call fcn.100141a5
xor edx, edx
mov dword [ebp - 0x20], ebx
inc edx
jmp 0x100b6ec7
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x32c]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x100b6eb8
mov eax, dword [ebp - 0x32c]
mov dword [eax], ebx
mov dword [ebp - 0x48], 0xffffffff
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x100b6ef4
push ebx
push ebx
push 0x1cd2
push ebx
call dword [sym.imp.USER32.dll_AppendMenuA]
xor edx, edx
inc edx
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], ebx
jl 0x100b6fa0
mov dword [ebp - 0x18], 0x5f0ed1ad
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], ebx
jl 0x100b6f72
mov dword [ebp - 0x20], 0x498e64e6
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x100b6f3a
push 0x1ef3
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetTextAlign]
xor edx, edx
inc edx
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], ebx
jl 0x100b6f6d
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x100b6f57
push ebx
push 0x7fa
push ebx
call dword [sym.imp.GDI32.dll_GetObjectW]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2f0]
cmp dword [eax + ecx*4], ebx
jne 0x100b6f6a
dec dword [ebp - 0x20]
jns 0x100b6f42
xor edx, edx
inc edx
dec dword [ebp - 0x18]
jns 0x100b6f0f
mov dword [ebp - 0x18], ebx
jmp 0x100b6f92
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x100b6f8f
push 0x1aad
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
xor edx, edx
inc edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jle 0x100b6f77
dec dword [ebp - 0x48]
jns 0x100b6f00
mov eax, dword [ebp - 0x32c]
inc dword [eax]
cmp dword [eax], edx
jle 0x100b6ed4
push eax
call fcn.10123626
mov dword [ebp - 0x32c], ebx
mov dword [ebp - 0x328], ebx
mov dword [ebp - 0x324], ebx
dec dword [ebp - 0x24]
pop ecx
jns 0x100b6ea3
mov ebx, dword [ebp - 0x2c]
xor esi, esi
mov byte [ebp - 4], 3
cmp dword [ebp - 0x2f0], 0
je 0x100b7002
push dword [ebp - 0x2f0]
call fcn.10123626
pop ecx
mov dword [ebp - 0x2f0], esi
mov dword [ebp - 0x2ec], esi
mov dword [ebp - 0x2e8], esi
push ecx
mov edx, 0x212f
lea ecx, [ebp - 0x6b4]
call fcn.1001591b
pop ecx
push eax
mov edx, ebx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x228]
call fcn.10071416
pop ecx
xor ebx, ebx
mov byte [ebp - 4], 9
push ebx
push 1
lea ecx, [ebp - 0x6b4]
call fcn.10014706
push 3
lea ecx, [ebp - 0x314]
call fcn.100141a5
push 3
pop edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x18], ebx
jmp 0x100b7064
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x338], 0xae35
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x100b7053
mov dword [ebp - 0x18], ebx
jmp 0x100b7081
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x314]
mov dword [eax + ecx*4], 0xcd453606
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x100b706e
mov edi, dword [ebp - 0x314]
mov dword [edi + 8], 2
mov dword [ebp - 0x24], 5
mov dword [ebp - 0x2c], 0x2aa9dade
cmp dword [edi + 8], ebx
je 0x100b70b0
cmp dword [ebp - 0x2c], ebx
je 0x100b70b0
xor ecx, ecx
inc ecx
jmp 0x100b70b2
mov ecx, ebx
mov eax, dword [ebp - 0x338]
sub ecx, eax
cmp ecx, dword [ebp - 0x334]
jge 0x100b70cc
cmp dword [edi + 8], ebx
je 0x100b70cc
xor ecx, ecx
inc ecx
jmp 0x100b70ce
mov ecx, ebx
mov eax, dword [edi + 8]
mov esi, 0x693009c
sub eax, ecx
mov ecx, dword [ebp - 0x24]
dec ecx
add ecx, eax
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
sub esi, ecx
mov ecx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x338]
cmp ecx, eax
setg dl
xor eax, eax
cmp edx, esi
setl al
dec dword [edi + 8]
mov dword [ebp - 0x2c], eax
jns 0x100b7093
mov edx, dword [ebp - 0x314]
xor ecx, ecx
push edx
mov eax, dword [edx + 4]
add eax, 0xab79
cmp eax, 0x2c02
setle cl
mov dword [ebp - 0x2c], ecx
call fcn.10123626
mov eax, dword [0x105da2c8]
mov dword [ebp - 0x314], ebx
mov dword [ebp - 0x310], ebx
mov dword [ebp - 0x30c], ebx
pop ecx
test al, 1
jne 0x100b716a
or eax, 1
mov dword [0x105da2cc], ebx
push 0x1015330d
mov dword [0x105da2c8], eax
mov dword [0x105da2d0], ebx
mov dword [0x105da2d4], ebx
call fcn.101235ef
pop ecx
mov ecx, dword [0x105da2cc]
mov esi, dword [0x105da2d0]
cmp ecx, esi
jne 0x100b73f3
mov dword [ebp - 0x140], 0x75016f02
mov ecx, ebx
mov dword [ebp - 0x13c], 0xc7054400
mov esi, ebx
mov dword [ebp - 0x138], 0x3ff5cb5
mov word [ebp - 0x134], 0x46b
mov byte [ebp - 0x132], 0x46
cmp ecx, 6
jne 0x100b71bd
push 5
pop esi
push 9
pop ecx
jmp 0x100b71f0
movzx eax, byte [ebp + ecx - 0x13f]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100b71e0
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x140]
mov word [ebp + eax*2 - 0x398], dx
add ecx, 2
cmp ecx, 0xf
jb 0x100b71b0
xor eax, eax
mov dword [ebp - 0x17c], 0x92106000
mov word [ebp - 0x38e], ax
mov ecx, ebx
mov dword [ebp - 0x178], 0xa7f310af
mov esi, ebx
mov dword [ebp - 0x174], 0xaa7fd622
mov dword [ebp - 0x170], 0x9bd46d66
mov word [ebp - 0x16c], 0x8b02
cmp ecx, 2
jne 0x100b7242
push 0x10
pop esi
push esi
pop ecx
jmp 0x100b7272
movzx eax, byte [ebp + ecx - 0x17b]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100b7265
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 - 0x6c], dx
add ecx, 2
cmp ecx, 0x12
jb 0x100b7236
xor eax, eax
lea ecx, [ebp - 0x4c8]
mov word [ebp - 0x6a], ax
lea eax, [ebp - 0x6c]
push eax
call fcn.100140d4
mov esi, eax
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x69c]
call fcn.100140d4
push eax
lea edx, [ebp - 0xd4]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x498]
call fcn.10028a72
pop ecx
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0xc
push ecx
mov edx, eax
lea ecx, [ebp - 0x5b8]
call fcn.10028a4a
pop ecx
push esi
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x6e4]
call fcn.10036ad2
sub esp, 0x14
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x228]
mov ecx, esp
push edx
mov edx, eax
call fcn.10028a4a
pop ecx
lea ecx, [ebp - 0x438]
call fcn.100640cd
add esp, 0x18
push eax
mov ecx, 0x105da2cc
mov byte [ebp - 4], 0xf
call fcn.10039b4a
lea ecx, [ebp - 0x438]
call fcn.1001496d
xor esi, esi
lea ecx, [ebp - 0x6e4]
push ebx
inc esi
push esi
call fcn.10014706
push ebx
push esi
lea ecx, [ebp - 0x5b8]
call fcn.10014706
push ebx
push esi
lea ecx, [ebp - 0x498]
call fcn.10014706
push ebx
push esi
lea ecx, [ebp - 0x69c]
call fcn.10014706
push ebx
push esi
lea ecx, [ebp - 0x4c8]
mov byte [ebp - 4], 9
call fcn.10014706
xor eax, eax
lea edi, [ebp - 0x398]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov ecx, dword [0x105da2cc]
mov esi, dword [0x105da2d0]
mov dword [ebp - 0x6c], ebx
cmp ecx, esi
jne 0x100b73f3
mov eax, dword [0x105da2d4]
sub eax, ecx
mov byte [ebp - 0x55], bl
mov dword [0x105da2d0], ecx
cmp eax, 1
jae 0x100b73c9
mov edi, 0x105da2cc
push 1
mov ecx, edi
call fcn.10064238
mov ecx, edi
mov esi, eax
call fcn.1001496d
push esi
mov ecx, edi
call fcn.10014926
mov ecx, dword [0x105da2cc]
mov byte [ebp - 0x2ac], bl
lea edx, [ebp - 0x54]
push dword [ebp - 0x2ac]
push ecx
push ecx
lea ecx, [ebp - 0x55]
call fcn.100158b2
mov ecx, dword [0x105da2cc]
mov esi, eax
add esp, 0xc
mov dword [0x105da2d0], esi
mov dword [ebp - 0x20], 1
sub esi, ecx
mov dword [ebp - 0x20], 0xfffffff0
jmp 0x100b743b
mov dword [ebp - 0x2c], 0x8b10
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100b7433
push 1
push 0x1191
push 0x1e5
push 0x157e
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetScrollRange]
cmp dword [ebp - 0x2c], ebx
jne 0x100b7441
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe8
jne 0x100b7405
cmp esi, 0x5f
ja 0x100b7493
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x98]
push eax
call fcn.1001410c
xor edi, edi
lea ecx, [ebp - 0x228]
push ebx
inc edi
push edi
call fcn.10014706
push ebx
push edi
lea ecx, [ebp - 0x168]
call fcn.10014706
push ebx
push edi
lea ecx, [ebp - 0xb0]
call fcn.100359a2
push ebx
push edi
lea ecx, [ebp - 0xd4]
call fcn.10014706
push ebx
push edi
jmp 0x100b8b6b
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x2c], 0xff18ee85
mov dword [ebp - 0x20], ebx
jmp 0x100b74b6
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x5c], 0x4fd3df75
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 1
jl 0x100b74a8
push 0xfffffffffffffffb
mov dword [ebp - 0x5c], 0xffffffe3
pop edi
jmp 0x100b7539
mov dword [ebp - 0x18], 0xfffffff6
cmp dword [ebp - 0x18], ebx
je 0x100b74ed
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
sub eax, ecx
je 0x100b74ed
xor ecx, ecx
inc ecx
jmp 0x100b74ef
mov ecx, ebx
mov eax, dword [ebp - 0x18]
imul eax, ecx
neg eax
sbb eax, eax
neg eax
add eax, 0xffff
je 0x100b750c
cmp dword [ebp - 0x5c], ebx
je 0x100b750c
xor eax, eax
inc eax
jmp 0x100b750e
mov eax, ebx
push 0xfffffffffffffffe
pop ecx
cmp ecx, eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x5c]
cmp eax, edi
jg 0x100b7527
cmp dword [ebp - 0x18], ebx
je 0x100b7527
xor edx, edx
inc edx
jmp 0x100b7529
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 0xffffffed
jne 0x100b74c8
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
lea eax, [esi - 0x5e]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x44]
call fcn.100b8b8a
mov dword [ebp - 0x20], 0x8e5c
lea ecx, [ebp - 0x38c]
push 4
call fcn.100141a5
mov dword [ebp - 0x2c], 0xd711e7bf
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x2c], 9
mov dword [ebp - 0x18], ebx
jmp 0x100b7595
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38c]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x100b7586
mov dword [ebp - 0x18], ebx
jmp 0x100b75b1
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x2b4], 0xc60edac7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x100b75a0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x38c]
mov dword [ecx + 8], eax
test eax, eax
je 0x100b75fd
mov dword [ebp - 0x2c], 0x7308f472
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ecx + 8], edx
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x2b4], ecx
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x24], ebx
je 0x100b75fd
xor eax, eax
inc eax
jmp 0x100b75ff
mov eax, ebx
push dword [ebp - 0x38c]
mov dword [ebp - 0x2c], eax
call fcn.10123626
pop ecx
mov ecx, dword [0x105da2cc]
lea eax, [ecx - 0x10]
add eax, esi
lea edi, [ecx + 0x4e]
lea ecx, [ebp - 0x44]
mov esi, eax
sub esi, edi
mov dword [ebp - 0x2b0], ecx
xor ecx, ecx
cmp edi, eax
cmova esi, ecx
test esi, esi
je 0x100b764e
mov al, byte [edi]
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x11]
push eax
call fcn.100b8eb5
inc edi
inc ebx
cmp ebx, esi
jne 0x100b7634
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x44]
sub edx, esi
push 0
pop ebx
mov ecx, ebx
mov dword [ebp - 0x2ac], edx
mov dword [ebp - 0x6c], ecx
je 0x100b78f7
movzx eax, byte [ecx + esi]
inc eax
lea eax, [ecx + eax*2]
cmp eax, edx
jae 0x100b7874
movzx eax, byte [eax + esi]
lea esi, [ecx + 0x200]
add esi, eax
cmp edx, esi
cmovb esi, edx
mov edi, esi
mov dword [ebp - 0x2b4], esi
sub edi, ecx
cmp eax, edi
jae 0x100b7874
mov ebx, edi
sub ebx, eax
xor eax, eax
sub ebx, 2
mov dword [ebp - 0x68], eax
shr ebx, 1
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2dc], eax
push edi
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x13
call fcn.100b8b8a
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x68]
add esi, eax
mov dword [ebp - 0x7c], ecx
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0x2b0], eax
cmp eax, esi
je 0x100b76fe
mov ebx, eax
push ebx
lea ecx, [ebp - 0x7c]
call fcn.100b8eb5
inc ebx
cmp ebx, esi
jne 0x100b76ed
mov ebx, dword [ebp - 0x2c]
push ebx
lea ecx, [ebp - 0x2e4]
call fcn.100b8bb2
mov eax, dword [ebp - 0x68]
mov dl, byte [edi + eax - 1]
dec edi
movzx esi, byte [eax]
cmp esi, ebx
jae 0x100b7852
mov cl, byte [eax + 1]
call fcn.100150c9
mov ebx, dword [ebp - 0x2e4]
movzx eax, al
push 2
mov word [ebx + esi*2], ax
pop esi
cmp edi, esi
jbe 0x100b779d
mov ecx, dword [ebp - 0x68]
xor edx, edx
movzx eax, byte [ecx]
lea eax, [eax*2 + 2]
cmp esi, eax
jne 0x100b7757
movzx edx, byte [esi + ecx]
inc edx
add esi, edx
cmp esi, edi
jae 0x100b779d
movzx eax, byte [esi + ecx]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x7c], eax
cmp eax, ecx
jae 0x100b7816
mov eax, esi
sub eax, edx
mov edx, dword [ebp - 0x68]
movzx eax, byte [eax + edx - 2]
cmp eax, ecx
jae 0x100b7816
mov dl, byte [ebx + eax*2]
mov eax, dword [ebp - 0x68]
mov cl, byte [esi + eax + 1]
call fcn.100150c9
mov ecx, dword [ebp - 0x7c]
add esi, 2
movzx eax, al
mov word [ebx + ecx*2], ax
cmp esi, edi
jb 0x100b7739
push dword [ebp - 0x2d8]
lea ecx, [ebp - 0x54]
push dword [ebp - 0x2e0]
push ebx
push dword [ebp - 0x50]
call fcn.100b8d3e
mov esi, dword [ebp - 0x2b4]
mov dword [ebp - 0x6c], esi
test ebx, ebx
je 0x100b77df
push ebx
call fcn.10123626
xor ebx, ebx
pop ecx
mov dword [ebp - 0x2e4], ebx
mov dword [ebp - 0x2e0], ebx
mov dword [ebp - 0x2dc], ebx
jmp 0x100b77e1
xor ebx, ebx
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x68], 0
je 0x100b77fd
push dword [ebp - 0x68]
call fcn.10123626
pop ecx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov edx, dword [ebp - 0x2ac]
cmp esi, edx
jae 0x100b78f7
mov esi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x6c]
jmp 0x100b766a
mov esi, dword [ebp - 0x28]
lea eax, [ebp - 0x98]
push eax
mov ecx, esi
call fcn.1001410c
test ebx, ebx
je 0x100b7832
push ebx
call fcn.10123626
pop ecx
cmp dword [ebp - 0x68], 0
je 0x100b784e
push dword [ebp - 0x68]
call fcn.10123626
xor ebx, ebx
pop ecx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
jmp 0x100b7885
xor ebx, ebx
jmp 0x100b7885
mov esi, dword [ebp - 0x28]
lea eax, [ebp - 0x98]
push eax
mov ecx, esi
call fcn.1001410c
cmp dword [ebp - 0x2e4], 0
je 0x100b7832
push dword [ebp - 0x2e4]
jmp 0x100b782c
mov esi, dword [ebp - 0x28]
lea eax, [ebp - 0x98]
push eax
mov ecx, esi
call fcn.1001410c
cmp dword [ebp - 0x54], 0
je 0x100b7894
push dword [ebp - 0x54]
call fcn.10123626
pop ecx
cmp dword [ebp - 0x44], 0
je 0x100b78ac
push dword [ebp - 0x44]
call fcn.10123626
pop ecx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
xor edi, edi
lea ecx, [ebp - 0x228]
push ebx
inc edi
push edi
call fcn.10014706
push ebx
push edi
lea ecx, [ebp - 0x168]
call fcn.10014706
push ebx
push edi
lea ecx, [ebp - 0xb0]
call fcn.100359a2
push ebx
push edi
lea ecx, [ebp - 0xd4]
call fcn.10014706
push ebx
push edi
lea ecx, [ebp - 0x98]
call fcn.10014706
mov eax, esi
jmp 0x100b8b79
push dword [ebp - 0x2d8]
mov esi, dword [ebp - 0x50]
lea ecx, [ebp - 0x2cc]
push esi
push dword [ebp - 0x54]
xor eax, eax
mov dword [ebp - 0x2b8], 7
mov dword [ebp - 0x2bc], ebx
mov word [ebp - 0x2cc], ax
call fcn.100b8e45
mov byte [ebp - 4], 0x14
sub esi, dword [ebp - 0x54]
sar esi, 1
je 0x100b7943
mov edi, dword [ebp - 0x54]
xor eax, eax
mov ecx, esi
shr ecx, 1
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
mov byte [ebp - 0x80], bl
mov esi, ebx
mov word [ebp - 0x7f], 0x20b
mov ecx, ebx
mov byte [ebp - 0x7d], 0xea
cmp ecx, 2
jne 0x100b795d
push ecx
pop esi
jmp 0x100b798a
movzx eax, byte [ebp + ecx - 0x7f]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100b797d
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x80]
mov word [ebp + eax*2 - 0x2d4], dx
add ecx, 2
cmp ecx, 4
jb 0x100b7954
xor eax, eax
lea ecx, [ebp - 0x5e8]
mov word [ebp - 0x2d2], ax
lea eax, [ebp - 0x2d4]
push eax
call fcn.100140d4
mov byte [ebp - 4], 0x15
cmp dword [eax + 0x14], 8
jb 0x100b79b9
mov eax, dword [eax]
movzx eax, word [eax]
lea edx, [ebp - 0x2cc]
push eax
lea ecx, [ebp - 0x78]
call fcn.1007a06d
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x5e8]
mov byte [ebp - 4], 0x17
call fcn.10014706
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0x2d4], ebx
mov ebx, dword [ebp - 0x74]
cmp esi, ebx
je 0x100b8af9
mov dword [ebp - 0x130], 0xea0c2100
mov dword [ebp - 0x12c], 0x819a8d7
mov dword [ebp - 0x128], 0xe675e8a9
mov word [ebp - 0x124], 0x767a
xor eax, eax
mov ecx, eax
mov edi, eax
movzx eax, al
lea eax, [eax*2 + 2]
mov dword [ebp - 0x7c], eax
cmp ecx, eax
jne 0x100b7a38
push 0xc
pop edi
add ecx, 0xa
jmp 0x100b7a6e
movzx eax, byte [ebp + ecx - 0x12f]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b7a5b
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x130]
mov word [ebp + eax*2 - 0x2d0], dx
mov eax, dword [ebp - 0x7c]
add ecx, 2
cmp ecx, 0xe
jb 0x100b7a2c
xor eax, eax
lea ecx, [ebp - 0x4f8]
mov word [ebp - 0x2ce], ax
lea eax, [ebp - 0x2d0]
push eax
call fcn.100140d4
push 0x18
pop ecx
mov byte [ebp - 4], cl
cmp dword [eax + 0x14], 8
jb 0x100b7a9f
mov eax, dword [eax]
movzx eax, word [eax]
lea ecx, [ebp - 0x38]
push eax
mov edx, esi
call fcn.1007a06d
pop ecx
xor eax, eax
mov byte [ebp - 4], 0x1a
push eax
push 1
lea ecx, [ebp - 0x4f8]
call fcn.10014706
mov eax, dword [ebp - 0x34]
xor ecx, ecx
sub eax, dword [ebp - 0x38]
push 0x18
cdq
pop edi
idiv edi
mov dword [ebp - 0x2d0], ecx
cmp eax, 4
jne 0x100b8af1
mov eax, dword [ebp - 0x2d8]
mov edx, 0x21b1
cmp eax, edx
jg 0x100b830f
je 0x100b826b
add edx, 0xffffffe7
cmp eax, edx
jg 0x100b7f2e
je 0x100b7e6d
sub eax, 0x2194
je 0x100b7dc9
dec eax
je 0x100b7ce9
dec eax
je 0x100b7bfa
dec eax
jne 0x100b8a0b
mov dword [ebp - 0x1cc], 0x6a026603
mov edi, eax
mov dword [ebp - 0x1c8], 0x6b016a00
mov dword [ebp - 0x1c4], 0xf95bf0b
mov dword [ebp - 0x1c0], 0x55061ee0
mov word [ebp - 0x1bc], 0xc85
mov byte [ebp - 0x1ba], 0xde
cmp ecx, 8
jne 0x100b7b70
push 0xb
pop edi
add ecx, 9
jmp 0x100b7ba3
movzx eax, byte [ebp + ecx - 0x1cb]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b7b93
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x1cc]
mov word [ebp + eax*2 - 0x35c], dx
add ecx, 2
cmp ecx, 0x13
jb 0x100b7b63
xor eax, eax
lea ecx, [ebp - 0x66c]
mov word [ebp - 0x354], ax
lea eax, [ebp - 0x35c]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x66c]
xor eax, eax
push eax
push 1
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8a29
xor eax, eax
lea edi, [ebp - 0x35c]
jmp 0x100b8a07
xor eax, eax
mov dword [ebp - 0x284], 0x7b056604
mov dword [ebp - 0x280], 0x75026903
mov edi, eax
mov dword [ebp - 0x27c], 0x4136a01
mov dword [ebp - 0x278], 0x9105c355
mov dword [ebp - 0x274], 0x60b91e28
mov dword [ebp - 0x270], 0x8717e330
mov dword [ebp - 0x26c], 0xc3a36940
mov word [ebp - 0x268], 0x2e
mov byte [ebp - 0x266], 0x84
cmp ecx, 0xa
jne 0x100b7c61
push 0x13
pop edi
add ecx, 0x11
jmp 0x100b7c94
movzx eax, byte [ebp + ecx - 0x283]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b7c84
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 - 0x3b8], dx
add ecx, 2
cmp ecx, 0x1f
jb 0x100b7c54
xor eax, eax
lea ecx, [ebp - 0x528]
mov word [ebp - 0x3ac], ax
lea eax, [ebp - 0x3b8]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x528]
xor eax, eax
push eax
push 1
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8a29
lea edi, [ebp - 0x3b8]
jmp 0x100b8a04
xor eax, eax
mov dword [ebp - 0x1f8], 0x3b0d7000
mov dword [ebp - 0x1f4], 0xbe21e44
mov edi, eax
mov dword [ebp - 0x1f0], 0xf44d52e3
mov dword [ebp - 0x1ec], 0x32e29ed
mov dword [ebp - 0x1e8], 0x1660475
mov word [ebp - 0x1e4], 0x277
mov byte [ebp - 0x1e2], 0x6e
cmp ecx, 2
jne 0x100b7d3c
push 0xd
pop edi
add ecx, 0xb
jmp 0x100b7d6f
movzx eax, byte [ebp + ecx - 0x1f7]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b7d5f
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x1f8]
mov word [ebp + eax*2 - 0x374], dx
add ecx, 2
cmp ecx, 0x17
jb 0x100b7d2f
xor eax, eax
lea ecx, [ebp - 0x450]
mov word [ebp - 0x36a], ax
lea eax, [ebp - 0x374]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x450]
xor eax, eax
push eax
push 1
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8a29
lea edi, [ebp - 0x374]
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
jmp 0x100b8a0b
mov dword [ebp - 0xe0], 0x75026400
mov edx, ecx
mov dword [ebp - 0xdc], 0x76036d01
mov dword [ebp - 0xd8], 0x78046e05
movzx ecx, byte [ebp + edx - 0xdf]
sub ecx, edx
dec ecx
jns 0x100b7e08
or eax, 0xffffffff
sub eax, ecx
add ecx, 0x100
and eax, 0xffffff00
add ecx, eax
movzx eax, byte [ebp + edx - 0xe0]
add edx, 2
mov word [ebp + eax*2 - 0x3c8], cx
cmp edx, 0xc
jb 0x100b7de9
xor eax, eax
lea ecx, [ebp - 0x558]
mov word [ebp - 0x3bc], ax
lea eax, [ebp - 0x3c8]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x558]
xor eax, eax
push eax
push 1
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8a45
lea edi, [ebp - 0x3c8]
jmp 0x100b8a04
mov dword [ebp - 0x150], 0x68037906
mov edi, ecx
mov dword [ebp - 0x14c], 0x79027405
mov edx, ecx
mov dword [ebp - 0x148], 0x71006f04
mov dword [ebp - 0x144], 0x22027601
cmp edx, 0xe
jne 0x100b7ea3
push 2
pop edi
jmp 0x100b7ed6
movzx eax, byte [ebp + edx - 0x14f]
lea ecx, [edi - 1]
sub eax, edx
add ecx, eax
jns 0x100b7ec6
or eax, 0xffffffff
sub eax, ecx
add ecx, 0x100
and eax, 0xffffff00
add ecx, eax
movzx eax, byte [ebp + edx - 0x150]
mov word [ebp + eax*2 - 0x408], cx
add edx, 2
cmp edx, 0x10
jb 0x100b7e99
xor eax, eax
lea ecx, [ebp - 0x6cc]
mov word [ebp - 0x3fa], ax
lea eax, [ebp - 0x408]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x6cc]
xor eax, eax
push eax
push 1
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8a29
lea edi, [ebp - 0x408]
xor eax, eax
stosd dword es:[edi], eax
jmp 0x100b7dc1
sub eax, 0x2199
je 0x100b81a7
sub eax, 0x15
je 0x100b80eb
dec eax
je 0x100b801f
dec eax
jne 0x100b8a0b
mov dword [ebp - 0x1b8], 0x23097000
mov edi, eax
mov dword [ebp - 0x1b4], 0xa1ce429c
mov dword [ebp - 0x1b0], 0x27303f4
mov dword [ebp - 0x1ac], 0x1770368
mov word [ebp - 0x1a8], 0x477
mov byte [ebp - 0x1a6], 0x6a
cmp ecx, 2
jne 0x100b7f97
push 9
pop edi
add ecx, 7
jmp 0x100b7fca
movzx eax, byte [ebp + ecx - 0x1b7]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b7fba
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x1b8]
mov word [ebp + eax*2 - 0x380], dx
add ecx, 2
cmp ecx, 0x13
jb 0x100b7f8a
xor eax, eax
lea ecx, [ebp - 0x588]
mov word [ebp - 0x376], ax
lea eax, [ebp - 0x380]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x588]
xor eax, eax
push eax
push 1
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8adb
lea edi, [ebp - 0x380]
jmp 0x100b7dbf
xor eax, eax
mov dword [ebp - 0x190], 0x68036501
mov dword [ebp - 0x18c], 0x8e368d0a
mov edi, eax
mov dword [ebp - 0x188], 0x7c1f1be
mov dword [ebp - 0x184], 0x6c02d144
mov word [ebp - 0x180], 0x6c00
cmp ecx, 4
jne 0x100b8061
push 0xa
pop edi
add ecx, 8
jmp 0x100b8094
movzx eax, byte [ebp + ecx - 0x18f]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b8084
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x190]
mov word [ebp + eax*2 - 0x350], dx
add ecx, 2
cmp ecx, 0x12
jb 0x100b8054
xor eax, eax
lea ecx, [ebp - 0x63c]
mov word [ebp - 0x348], ax
lea eax, [ebp - 0x350]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x63c]
xor eax, eax
push eax
push 1
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8adb
xor eax, eax
lea edi, [ebp - 0x350]
jmp 0x100b8a07
xor eax, eax
mov dword [ebp - 0x100], 0x3016400
mov dword [ebp - 0xfc], 0x5720472
mov edi, eax
mov dword [ebp - 0xf8], 0x17b026c
mov byte [ebp - 0xf4], 0x73
cmp ecx, 2
jne 0x100b811f
xor edi, edi
inc edi
dec ecx
jmp 0x100b8152
movzx eax, byte [ebp + ecx - 0xff]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b8142
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x100]
mov word [ebp + eax*2 - 0x3a8], dx
add ecx, 2
cmp ecx, 0xd
jb 0x100b8114
xor eax, eax
lea ecx, [ebp - 0x468]
mov word [ebp - 0x39c], ax
lea eax, [ebp - 0x3a8]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x468]
xor eax, eax
push eax
push 1
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8adb
lea edi, [ebp - 0x3a8]
jmp 0x100b8a04
xor eax, eax
mov dword [ebp - 0x110], 0x64006802
mov dword [ebp - 0x10c], 0xef077b01
mov edi, eax
mov dword [ebp - 0x108], 0xc62c3a2e
mov byte [ebp - 0x104], 0x94
cmp ecx, 6
jne 0x100b81dd
push 7
pop edi
add ecx, 5
jmp 0x100b8210
movzx eax, byte [ebp + ecx - 0x10f]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b8200
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x110]
mov word [ebp + eax*2 - 0x300], dx
add ecx, 2
cmp ecx, 0xd
jb 0x100b81d0
xor eax, eax
lea ecx, [ebp - 0x480]
mov word [ebp - 0x2fa], ax
lea eax, [ebp - 0x300]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
xor edi, edi
mov byte [ebp - 0x11], al
push edi
push 1
lea ecx, [ebp - 0x480]
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8a29
mov dword [ebp - 0x300], edi
mov dword [ebp - 0x2fc], edi
jmp 0x100b8a0b
mov dword [ebp - 0xbc], 0x7b057a00
mov edx, ecx
mov dword [ebp - 0xb8], 0x68016903
mov dword [ebp - 0xb4], 0x70047702
movzx ecx, byte [ebp + edx - 0xbb]
sub ecx, edx
dec ecx
jns 0x100b82aa
or eax, 0xffffffff
sub eax, ecx
add ecx, 0x100
and eax, 0xffffff00
add ecx, eax
movzx eax, byte [ebp + edx - 0xbc]
add edx, 2
mov word [ebp + eax*2 - 0x3d8], cx
cmp edx, 0xc
jb 0x100b828b
xor eax, eax
lea ecx, [ebp - 0x4b0]
mov word [ebp - 0x3cc], ax
lea eax, [ebp - 0x3d8]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x4b0]
xor eax, eax
push eax
push 1
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8adb
lea edi, [ebp - 0x3d8]
jmp 0x100b8a04
mov edx, 0x21df
cmp eax, edx
jg 0x100b875d
je 0x100b86a1
sub eax, 0x21b2
je 0x100b85c7
dec eax
je 0x100b84f7
sub eax, 0x2a
je 0x100b840f
dec eax
jne 0x100b8a0b
mov dword [ebp - 0x1e0], 0x6a026603
mov edi, eax
mov dword [ebp - 0x1dc], 0x6b016a00
mov dword [ebp - 0x1d8], 0x5d6c5d0c
mov dword [ebp - 0x1d4], 0xe38644df
mov dword [ebp - 0x1d0], 0x52c5a212
cmp ecx, 8
jne 0x100b8385
push 0xc
pop edi
add ecx, 0xa
jmp 0x100b83b8
movzx eax, byte [ebp + ecx - 0x1df]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b83a8
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x1e0]
mov word [ebp + eax*2 - 0x344], dx
add ecx, 2
cmp ecx, 0x14
jb 0x100b8378
xor eax, eax
lea ecx, [ebp - 0x4e0]
mov word [ebp - 0x33c], ax
lea eax, [ebp - 0x344]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x4e0]
xor eax, eax
push eax
push 1
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8ae6
xor eax, eax
lea edi, [ebp - 0x344]
jmp 0x100b8a07
xor eax, eax
mov dword [ebp - 0x264], 0x6b017302
mov dword [ebp - 0x260], 0xcf126800
mov edi, eax
mov dword [ebp - 0x25c], 0x5b4e781
mov dword [ebp - 0x258], 0xee53ed7
mov dword [ebp - 0x254], 0x26c35925
mov dword [ebp - 0x250], 0xb95a7906
mov dword [ebp - 0x24c], 0x6e057404
mov word [ebp - 0x248], 0x7a03
cmp ecx, 6
jne 0x100b846f
push 0x12
pop edi
add ecx, 0x10
jmp 0x100b84a2
movzx eax, byte [ebp + ecx - 0x263]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b8492
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x264]
mov word [ebp + eax*2 - 0x3f8], dx
add ecx, 2
cmp ecx, 0x1e
jb 0x100b8462
xor eax, eax
lea ecx, [ebp - 0x510]
mov word [ebp - 0x3ec], ax
lea eax, [ebp - 0x3f8]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x510]
xor eax, eax
push eax
push 1
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8ae6
lea edi, [ebp - 0x3f8]
jmp 0x100b8a04
xor eax, eax
mov dword [ebp - 0x1a4], 0x64007701
mov dword [ebp - 0x1a0], 0x1d393b0c
mov edi, eax
mov dword [ebp - 0x19c], 0xaef3ef08
mov dword [ebp - 0x198], 0x31211e5d
mov word [ebp - 0x194], 0x6c02
cmp ecx, 4
jne 0x100b8539
push 0xc
pop edi
add ecx, 0xa
jmp 0x100b856c
movzx eax, byte [ebp + ecx - 0x1a3]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b855c
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x1a4]
mov word [ebp + eax*2 - 0x308], dx
add ecx, 2
cmp ecx, 0x12
jb 0x100b852c
xor eax, eax
lea ecx, [ebp - 0x540]
mov word [ebp - 0x302], ax
lea eax, [ebp - 0x308]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
xor edi, edi
mov byte [ebp - 0x11], al
push edi
push 1
lea ecx, [ebp - 0x540]
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8adb
mov dword [ebp - 0x308], edi
mov dword [ebp - 0x304], edi
jmp 0x100b8a0b
xor eax, eax
mov dword [ebp - 0x210], 0x6c017005
push 0x18
mov edi, eax
mov dword [ebp - 0x20c], 0x6d047d06
mov dword [ebp - 0x208], 0x7d026f00
mov dword [ebp - 0x204], 0xe1f89f0a
mov dword [ebp - 0x200], 0xe901f7a
mov dword [ebp - 0x1fc], 0x7203a756
pop eax
cmp ecx, 0xc
jne 0x100b8617
push 0xa
pop edi
add ecx, 8
jmp 0x100b864d
movzx eax, byte [ebp + ecx - 0x20f]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b863a
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x210]
push 0x18
mov word [ebp + eax*2 - 0x42c], dx
pop eax
add ecx, 2
cmp ecx, eax
jb 0x100b860a
xor eax, eax
lea ecx, [ebp - 0x570]
mov word [ebp - 0x41e], ax
lea eax, [ebp - 0x42c]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x570]
xor eax, eax
push eax
push 1
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8adb
lea edi, [ebp - 0x42c]
jmp 0x100b7f26
xor eax, eax
mov dword [ebp - 0xf0], 0x73016204
mov dword [ebp - 0xec], 0x79036a02
mov edi, eax
mov dword [ebp - 0xe8], 0xf9037800
mov byte [ebp - 0xe4], 0x60
cmp ecx, 0xa
jne 0x100b86d5
push 3
pop edi
inc ecx
jmp 0x100b8708
movzx eax, byte [ebp + ecx - 0xef]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b86f8
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 - 0x368], dx
add ecx, 2
cmp ecx, 0xd
jb 0x100b86ca
xor eax, eax
lea ecx, [ebp - 0x5a0]
mov word [ebp - 0x35e], ax
lea eax, [ebp - 0x368]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x5a0]
xor eax, eax
push eax
push 1
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8ae6
lea edi, [ebp - 0x368]
jmp 0x100b7dbf
sub eax, 0x21e0
je 0x100b892a
dec eax
je 0x100b883a
dec eax
jne 0x100b8a0b
mov dword [ebp - 0x120], 0xd5086200
mov edi, eax
mov dword [ebp - 0x11c], 0x9a27c254
mov dword [ebp - 0x118], 0x6a022651
mov word [ebp - 0x114], 0x7b01
cmp ecx, 2
jne 0x100b87ac
push 8
pop edi
add ecx, 6
jmp 0x100b87df
movzx eax, byte [ebp + ecx - 0x11f]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b87cf
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x120]
mov word [ebp + eax*2 - 0x2f8], dx
add ecx, 2
cmp ecx, 0xe
jb 0x100b879f
xor eax, eax
lea ecx, [ebp - 0x5d0]
mov word [ebp - 0x2f2], ax
lea eax, [ebp - 0x2f8]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
xor edi, edi
mov byte [ebp - 0x11], al
push edi
push 1
lea ecx, [ebp - 0x5d0]
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8ae6
mov dword [ebp - 0x2f8], edi
mov dword [ebp - 0x2f4], edi
jmp 0x100b8a0b
xor eax, eax
mov dword [ebp - 0x2a8], 0x9a136700
mov dword [ebp - 0x2a4], 0x6a3c959
mov edi, eax
mov dword [ebp - 0x2a0], 0x2660f9b9
mov dword [ebp - 0x29c], 0x17f0f795
mov dword [ebp - 0x298], 0xb74e7521
mov dword [ebp - 0x294], 0x3690455
mov dword [ebp - 0x290], 0x679026a
mov dword [ebp - 0x28c], 0x17a0581
mov byte [ebp - 0x288], 0x76
cmp ecx, 2
jne 0x100b88a2
push 0x13
pop edi
add ecx, 0x11
jmp 0x100b88d5
movzx eax, byte [ebp + ecx - 0x2a7]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b88c5
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x2a8]
mov word [ebp + eax*2 - 0x418], dx
add ecx, 2
cmp ecx, 0x21
jb 0x100b8895
xor eax, eax
lea ecx, [ebp - 0x600]
mov word [ebp - 0x40a], ax
lea eax, [ebp - 0x418]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x600]
xor eax, eax
push eax
push 1
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8ae6
lea edi, [ebp - 0x418]
jmp 0x100b7f26
xor eax, eax
mov dword [ebp - 0x244], 0xea107a00
mov dword [ebp - 0x240], 0xc0bee454
mov edi, eax
mov dword [ebp - 0x23c], 0xf0ede373
mov dword [ebp - 0x238], 0x3cb793ee
mov dword [ebp - 0x234], 0x6401e84e
mov dword [ebp - 0x230], 0x6c046903
mov dword [ebp - 0x22c], 0x83057702
cmp ecx, 2
jne 0x100b8981
push 0x10
pop edi
add ecx, 0xe
jmp 0x100b89b4
movzx eax, byte [ebp + ecx - 0x243]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100b89a4
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x244]
mov word [ebp + eax*2 - 0x3e8], dx
add ecx, 2
cmp ecx, 0x1c
jb 0x100b8974
xor eax, eax
lea ecx, [ebp - 0x624]
mov word [ebp - 0x3dc], ax
lea eax, [ebp - 0x3e8]
push eax
call fcn.100140d4
mov ecx, dword [ebp - 0x38]
mov edx, eax
call fcn.10028006
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x624]
xor eax, eax
push eax
push 1
call fcn.10014706
cmp byte [ebp - 0x11], 0
jne 0x100b8ae6
lea edi, [ebp - 0x3e8]
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 - 0x38]
mov byte [ebp - 4], 0x17
call fcn.1002897c
push 0x18
pop eax
add esi, eax
cmp esi, ebx
je 0x100b8af9
jmp 0x100b7a19
mov eax, dword [ebp - 0x38]
add eax, 0x48
mov ecx, dword [ebp - 0x28]
push eax
call fcn.10014099
lea ecx, [ebp - 0x38]
call fcn.1002897c
jmp 0x100b8b08
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x28]
add eax, 0x48
push eax
mov ecx, esi
call fcn.10014099
lea ecx, [ebp - 0x38]
call fcn.1002897c
lea ecx, [ebp - 0x78]
call fcn.1002897c
xor ebx, ebx
lea ecx, [ebp - 0x2cc]
push ebx
push 1
call fcn.10014706
cmp dword [ebp - 0x54], ebx
je 0x100b8a84
push dword [ebp - 0x54]
call fcn.10123626
pop ecx
cmp dword [ebp - 0x44], ebx
je 0x100b8a9b
push dword [ebp - 0x44]
call fcn.10123626
pop ecx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
push ebx
push 1
lea ecx, [ebp - 0x228]
call fcn.10014706
push ebx
push 1
lea ecx, [ebp - 0x168]
call fcn.10014706
push ebx
push 1
lea ecx, [ebp - 0xb0]
call fcn.100359a2
push ebx
push 1
lea ecx, [ebp - 0xd4]
call fcn.10014706
push ebx
push 1
jmp 0x100b78e5
mov eax, dword [ebp - 0x38]
add eax, 0x18
jmp 0x100b8a2f
mov eax, dword [ebp - 0x38]
add eax, 0x30
jmp 0x100b8a2f
lea ecx, [ebp - 0x38]
call fcn.1002897c
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x98]
push eax
call fcn.1001410c
lea ecx, [ebp - 0x78]
call fcn.1002897c
xor ebx, ebx
lea ecx, [ebp - 0x2cc]
push ebx
push 1
call fcn.10014706
lea ecx, [ebp - 0x54]
call fcn.100147a9
lea ecx, [ebp - 0x44]
call fcn.100147a9
push ebx
push 1
lea ecx, [ebp - 0x228]
call fcn.10014706
push ebx
push 1
lea ecx, [ebp - 0x168]
call fcn.10014706
push ebx
push 1
lea ecx, [ebp - 0xb0]
call fcn.100359a2
push ebx
push 1
lea ecx, [ebp - 0xd4]
call fcn.10014706
push ebx
push 1
lea ecx, [ebp - 0x98]
call fcn.10014706
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