Function at 0x100c0720
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov esi, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
cmp eax, edi
jbe 0x100c074a
mov dword [ecx], 0
jmp 0x100c1c8f
mov ebx, dword [ebp + 0xc]
cmp byte [esi + 0x18], 0
mov dword [esp + 4], eax
je 0x100c0924
mov eax, dword [ebx + 0x258]
mov edx, dword [ebx + 0x260]
mov ecx, dword [ebx + 0x264]
or edx, dword [ebx + 0x270]
or eax, dword [ebx + 0x268]
or ecx, dword [ebx + 0x274]
or eax, edx
mov edx, dword [ebx + 0x25c]
or edx, dword [ebx + 0x26c]
mov ebx, dword [ebp + 0x10]
or edx, ecx
or edx, eax
mov eax, dword [esi + 8]
mov dword [esp + 8], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0xc], eax
je 0x100c08f7
cmp edi, eax
jae 0x100c08f7
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx + edi]
mov eax, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 1
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov ch, cl
and al, 0x78
and ch, 7
shr al, 3
mov cl, ch
neg al
movsx edx, al
mov esi, dword [esp + edx + 0x8c]
mov eax, dword [esp + edx + 0x90]
mov dword [esp + 0x18], edx
shld eax, esi, cl
shl esi, cl
not cl
mov dword [esp + 0x1c], eax
mov eax, dword [esp + edx + 0x88]
mov edx, eax
mov ebx, eax
mov eax, dword [esp + 0x14]
shr edx, 1
shr edx, cl
mov cl, ch
or edx, esi
mov esi, dword [esp + 0x18]
shr eax, 3
and eax, 0x10
mov esi, dword [esp + esi + 0x84]
shld ebx, esi, cl
shl esi, cl
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x10], ebx
add ecx, 0x258
mov dword [esp + 0x18], ecx
and edx, dword [ecx + eax + 8]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
and ecx, dword [ebx + eax + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x18]
and ebx, dword [ecx + eax + 4]
and esi, dword [ecx + eax]
mov eax, dword [esp + 0xc]
or ebx, dword [esp + 0x1c]
or esi, edx
or ebx, esi
mov ebx, dword [ebp + 0x10]
je 0x100c08f7
mov eax, dword [0x1044f00c]
mov esi, dword [0x1044eff8]
movzx eax, byte [eax]
mov eax, dword [esi]
test eax, eax
jne 0x100c08d0
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x100c1e5b
mov dword [esi], eax
push 0xc
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100c1e5b
mov ecx, dword [esp + 0x14]
mov byte [eax], 0
mov byte [eax + 1], cl
mov ecx, dword [ebp + 8]
mov dword [eax + 4], edi
jmp 0x100c1766
cmp edi, eax
mov al, 2
jae 0x100c0b80
cmp dword [esp + 8], 0
mov esi, dword [ebp + 0x14]
je 0x100c0b83
mov eax, dword [esp + 8]
mov ecx, dword [ebp + 0xc]
movzx eax, byte [eax + edi]
movzx eax, byte [ecx + eax + 0x58]
jmp 0x100c0b83
mov eax, dword [ebx + 0x258]
mov edx, dword [ebx + 0x260]
mov ecx, dword [ebx + 0x264]
or edx, dword [ebx + 0x270]
or eax, dword [ebx + 0x268]
or ecx, dword [ebx + 0x274]
or eax, edx
mov edx, dword [ebx + 0x25c]
or edx, dword [ebx + 0x26c]
mov ebx, dword [ebp + 0x10]
or edx, ecx
mov ecx, dword [esi + 8]
or edx, eax
mov edx, dword [esi + 0xc]
mov esi, dword [esp + 4]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
je 0x100c0ab0
cmp edi, edx
jae 0x100c0ab0
mov eax, dword [esp + 8]
movzx ecx, byte [eax + edi]
mov eax, ecx
mov dword [esp + 0x14], ecx
mov ch, cl
and al, 0x78
and ch, 7
shr al, 3
mov cl, ch
neg al
movsx eax, al
mov dword [esp + 0x18], eax
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 1
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov esi, dword [esp + eax + 0x6c]
mov eax, dword [esp + eax + 0x70]
shld eax, esi, cl
shl esi, cl
not cl
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax + 0x68]
mov edx, eax
mov ebx, eax
mov eax, dword [esp + 0x14]
shr edx, 1
shr edx, cl
mov cl, ch
or edx, esi
mov esi, dword [esp + 0x18]
shr eax, 3
and eax, 0x10
mov esi, dword [esp + esi + 0x64]
shld ebx, esi, cl
shl esi, cl
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x10], ebx
add ecx, 0x258
mov dword [esp + 0x18], ecx
and edx, dword [ecx + eax + 8]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
and ecx, dword [ebx + eax + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x18]
and ebx, dword [ecx + eax + 4]
and esi, dword [ecx + eax]
or ebx, dword [esp + 0x1c]
or esi, edx
mov edx, dword [esp + 0xc]
or ebx, esi
mov ebx, dword [ebp + 0x10]
mov esi, dword [esp + 4]
je 0x100c0ab0
mov eax, dword [0x1044f00c]
mov esi, dword [0x1044eff8]
movzx eax, byte [eax]
mov eax, dword [esi]
test eax, eax
jne 0x100c0a8a
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x100c1e5b
mov dword [esi], eax
push 0xc
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100c1e5b
mov edx, eax
mov byte [eax], 0
mov eax, dword [esp + 0x14]
mov byte [edx + 1], al
mov dword [edx + 4], edi
jmp 0x100c1067
cmp edi, edx
mov al, 2
jae 0x100c0acd
cmp dword [esp + 8], 0
je 0x100c0acd
mov eax, dword [esp + 8]
mov ecx, dword [ebp + 0xc]
movzx eax, byte [eax + edi]
movzx eax, byte [ecx + eax + 0x58]
mov ecx, dword [ebp + 0x14]
movzx eax, al
mov edx, dword [ecx]
mov ecx, eax
test edx, edx
je 0x100c0ae7
cmp edx, 1
jne 0x100c1010
lea ecx, [eax + 6]
mov edx, dword [ebx + 0x88]
cmp ecx, edx
jae 0x100c11f7
mov edx, dword [ebx + 0x80]
mov edx, dword [edx + ecx*4]
test edx, edx
js 0x100c1395
cmp esi, edi
jne 0x100c0cb2
test esi, esi
je 0x100c1202
mov eax, dword [esp + 0xc]
lea edi, [esi - 1]
cmp edi, eax
jae 0x100c1e01
mov eax, dword [esp + 8]
movzx eax, byte [eax + edi]
mov byte [esp + 8], al
movzx ecx, al
mov eax, dword [ebp + 0xc]
movzx esi, byte [eax + ecx + 0x158]
mov eax, edx
and eax, 0x7ffffff
add eax, esi
mov esi, dword [ebx + 0x7c]
cmp eax, esi
jae 0x100c1e08
mov esi, dword [ebx + 0x74]
mov eax, dword [esi + eax*4]
mov esi, dword [esp + 4]
test eax, eax
js 0x100c1ab8
test eax, 0x8000000
jne 0x100c1aef
test eax, 0x20000000
je 0x100c1247
jmp 0x100c1737
mov esi, dword [ebp + 0x14]
mov ecx, dword [esi]
movzx edx, al
mov eax, edx
test ecx, ecx
je 0x100c0b9a
cmp ecx, 1
jne 0x100c0c58
lea eax, [edx + 6]
mov ecx, dword [ebx + 0x88]
cmp eax, ecx
jae 0x100c114e
mov ecx, dword [ebx + 0x80]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 4]
test eax, eax
js 0x100c127b
cmp ecx, edi
jne 0x100c13d6
test ecx, ecx
je 0x100c115a
lea edi, [ecx - 1]
mov ecx, dword [esp + 0xc]
cmp edi, ecx
jae 0x100c1df6
mov ecx, dword [esp + 8]
mov edx, dword [ebp + 0xc]
movzx ecx, byte [ecx + edi]
mov byte [esp + 8], cl
movzx ecx, cl
movzx esi, byte [edx + ecx + 0x158]
mov edx, eax
and edx, 0x7ffffff
add edx, esi
mov esi, dword [ebx + 0x7c]
cmp edx, esi
jae 0x100c1daa
mov esi, dword [ebx + 0x74]
mov edx, dword [esi + edx*4]
mov esi, dword [esp + 4]
test edx, edx
js 0x100c1a67
test edx, 0x8000000
je 0x100c172b
mov ebx, dword [ebp + 0xc]
xor edi, edi
mov eax, 1
mov ecx, dword [ebx + 0x278]
cmp dword [ecx + 0x148], 1
je 0x100c1a0b
movzx ecx, byte [ebx + 0x27c]
and edx, 0x7ffffff
jmp 0x100c190e
mov ecx, dword [ebp + 0xc]
mov ebx, dword [esi + 4]
test byte [ecx + 0x4d], 1
jne 0x100c1124
mov eax, dword [0x1044f00c]
mov esi, dword [0x1044eff8]
movzx eax, byte [eax]
mov eax, dword [esi]
test eax, eax
jne 0x100c0c8b
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x100c1e5b
mov dword [esi], eax
push 0xc
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100c1e5b
mov ecx, dword [ebp + 8]
mov byte [eax], 3
mov dword [eax + 4], 2
mov dword [eax + 8], ebx
jmp 0x100c1766
dec edi
cmp dword [ebx + 0xb0], 1
jne 0x100c0cda
mov eax, dword [ebx + 0xb8]
mov ecx, dword [ebx + 0xb4]
mov esi, eax
sub esi, ecx
neg esi
sub eax, ecx
cmovb eax, esi
mov esi, dword [esp + 4]
add dword [ebx + 0x70], eax
mov eax, esi
mov ecx, 0xffffffff
mov dword [ebx + 0xb0], 1
mov dword [ebx + 0xb4], edi
mov dword [ebx + 0xb8], edi
mov dword [esp + 0x10], 0
add eax, 3
cmovae ecx, eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x278]
mov eax, dword [eax + 0x27c]
and eax, 0x1f
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], eax
jmp 0x100c0d4a
lea eax, [edi + 1]
mov dword [esp + 0x10], 1
mov dword [esp + 0x3c], eax
cmp edi, esi
lea edi, [edi - 1]
je 0x100c1078
cmp edx, 0x7ffffff
jbe 0x100c0db0
cmp dword [ebx + 0xb0], 0
mov eax, dword [esp + 8]
je 0x100c1e45
cmp edi, dword [esp + 0xc]
mov dword [ebx + 0xb8], edi
jae 0x100c1d00
movzx eax, byte [eax + edi]
mov ecx, dword [ebp + 0xc]
movzx esi, byte [ecx + eax + 0x158]
mov ecx, edx
and ecx, 0x7ffffff
add ecx, esi
mov esi, dword [ebx + 0x7c]
cmp ecx, esi
jae 0x100c1dc6
mov esi, dword [ebx + 0x74]
mov ecx, dword [esi + ecx*4]
test ecx, ecx
js 0x100c0fb5
mov edx, ecx
mov esi, dword [esp + 4]
jmp 0x100c0f00
cmp edi, esi
jb 0x100c0d3f
mov eax, dword [ebx + 0x74]
dec edi
mov ecx, edi
mov dword [esp + 0x1c], eax
nop
mov eax, dword [esp + 8]
mov ebx, dword [ebp + 0xc]
lea edi, [ecx + 1]
movzx esi, byte [eax + ecx + 1]
mov eax, dword [esp + 0x1c]
movzx esi, byte [ebx + esi + 0x158]
add esi, edx
mov ebx, dword [eax + esi*4]
cmp ebx, 0x7ffffff
ja 0x100c0ee2
cmp edi, dword [esp + 0x18]
jbe 0x100c0ee2
mov esi, eax
mov eax, dword [esp + 8]
mov edi, dword [ebp + 0xc]
movzx edx, byte [eax + ecx]
movzx edx, byte [edi + edx + 0x158]
add edx, ebx
mov edx, dword [esi + edx*4]
cmp edx, 0x7ffffff
ja 0x100c0e79
mov edi, esi
movzx esi, byte [eax + ecx - 1]
mov ebx, dword [ebp + 0xc]
movzx esi, byte [ebx + esi + 0x158]
add esi, edx
mov ebx, dword [edi + esi*4]
cmp ebx, 0x7ffffff
ja 0x100c0edf
movzx edx, byte [eax + ecx - 2]
mov esi, dword [ebp + 0xc]
movzx edx, byte [esi + edx + 0x158]
mov esi, dword [esp + 4]
add edx, ebx
mov edx, dword [edi + edx*4]
cmp edx, 0x7ffffff
ja 0x100c0f9f
lea edi, [ecx - 4]
add ecx, 0xfffffffd
cmp ecx, esi
mov ecx, edi
jae 0x100c0dc0
mov ebx, dword [ebp + 0x10]
inc edi
jmp 0x100c0d3f
mov edi, ecx
mov ecx, ebx
mov ebx, edx
mov esi, dword [esp + 4]
test ebx, ebx
jns 0x100c0eec
mov ebx, dword [ebp + 0x10]
cmp dword [ebx + 0xb0], 0
je 0x100c1e45
cmp edi, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov dword [ebx + 0xb8], edi
jae 0x100c1dda
movzx esi, byte [eax + edi]
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebx + 0x7c]
movzx edx, byte [edx + esi + 0x158]
add edx, ecx
cmp edx, ebx
jae 0x100c1ded
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + edx*4]
test edx, edx
js 0x100c0fe3
mov esi, dword [esp + 4]
mov ebx, dword [ebp + 0x10]
jmp 0x100c0f00
dec ecx
mov edi, ecx
mov ecx, edx
mov esi, dword [esp + 4]
test ebx, ebx
js 0x100c0e87
mov edx, ebx
mov ebx, dword [ebp + 0x10]
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp edx, 0x8000000
jb 0x100c0d3f
mov eax, edx
and eax, 0x10000000
jne 0x100c0d3f
test edx, 0x8000000
je 0x100c1324
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], 0
cmp dword [eax + 0x148], 1
je 0x100c0d30
mov eax, ebx
mov ebx, edx
mov ecx, dword [esp + 0x44]
and ebx, 0x7ffffff
shr ebx, cl
mov ecx, dword [eax + 0x94]
cmp ebx, ecx
jae 0x100c1de4
mov ecx, dword [eax + 0x8c]
mov eax, dword [ecx + ebx*8 + 4]
test eax, eax
je 0x100c1dcf
mov ecx, dword [ecx + ebx*8]
mov ebx, dword [ebp + 0x10]
test byte [ecx + 8], 2
je 0x100c0d30
cmp eax, 8
jbe 0x100c1e7f
add eax, 0xfffffff7
cmp eax, 3
jbe 0x100c1e91
mov eax, dword [ecx + 0x11]
mov dword [esp + 0x14], eax
jmp 0x100c0d30
add ecx, 0xfffffffe
mov edi, ecx
mov ecx, ebx
mov ebx, edx
test ebx, ebx
jns 0x100c0eec
jmp 0x100c0e87
mov ecx, dword [ebp + 0xc]
shl eax, 8
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ebx
push eax
push edx
lea eax, [esp + 0x28]
push eax
call fcn.100b7c80
add esp, 0xc
mov esi, dword [esp + 4]
test eax, eax
je 0x100c0f00
jmp 0x100c166d
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
shl esi, 8
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebx
push esi
push ecx
lea eax, [esp + 0x28]
push eax
call fcn.100b7c80
add esp, 0xc
test eax, eax
je 0x100c0da7
jmp 0x100c166d
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xc]
mov ebx, dword [ecx + 4]
test byte [edx + 0x4d], 1
jne 0x100c11cd
mov eax, dword [0x1044f00c]
mov esi, dword [0x1044eff8]
movzx eax, byte [eax]
mov eax, dword [esi]
test eax, eax
jne 0x100c1046
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x100c1e5b
mov dword [esi], eax
push 0xc
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100c1e5b
mov edx, eax
mov byte [eax], 3
mov dword [eax + 4], 2
mov dword [eax + 8], ebx
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], edx
mov dword [ecx], 2
jmp 0x100c1c8f
mov eax, dword [ebx + 0xb4]
cmp dword [ebx + 0xb0], 0
mov dword [ebx + 0xb0], 0
je 0x100c1e69
mov edi, dword [esp + 4]
mov ecx, esi
sub ecx, eax
neg ecx
sub edi, eax
mov eax, dword [esp + 4]
cmovb edi, ecx
add dword [ebx + 0x70], edi
test eax, eax
je 0x100c12b1
lea edi, [eax - 1]
mov eax, dword [esp + 0xc]
cmp edi, eax
jae 0x100c1e01
mov eax, dword [esp + 8]
mov ebx, dword [ebp + 0x10]
movzx eax, byte [eax + edi]
mov byte [esp + 8], al
movzx ecx, al
mov eax, dword [ebp + 0xc]
movzx esi, byte [eax + ecx + 0x158]
mov eax, edx
and eax, 0x7ffffff
add eax, esi
mov esi, dword [ebx + 0x7c]
cmp eax, esi
jae 0x100c1e08
mov esi, dword [ebx + 0x74]
mov eax, dword [esi + eax*4]
mov esi, dword [esp + 4]
test eax, eax
js 0x100c1b96
test eax, 0x8000000
jne 0x100c1d1c
mov edx, dword [esp + 0x14]
test eax, 0x20000000
jne 0x100c1737
jmp 0x100c1d92
mov eax, dword [ecx + 0x278]
cmp dword [eax + 0x148], ebx
jbe 0x100c124e
lea eax, [ebx + ebx*2]
mov ebx, dword [ebp + 0x10]
lea eax, [edx + eax*2 + 0xc]
mov ecx, dword [ebx + 0x88]
cmp eax, ecx
jb 0x100c0ba8
push 0x10337808
push ecx
push eax
jmp 0x100c1e26
mov edi, dword [ebp + 0xc]
mov edx, eax
and edx, 0x7ffffff
movzx ecx, byte [edi + 0x257]
shl ecx, 0x10
add ecx, 0x10001
mov esi, ecx
shr esi, 0x10
add edx, esi
mov esi, dword [ebx + 0x7c]
cmp edx, esi
jae 0x100c1e0f
mov esi, dword [ebx + 0x74]
mov edx, dword [esi + edx*4]
test edx, edx
js 0x100c1a94
test edx, 0x8000000
je 0x100c1847
mov ecx, dword [edi + 0x278]
xor esi, esi
mov eax, 1
cmp dword [ecx + 0x148], 1
je 0x100c197b
movzx ecx, byte [edi + 0x27c]
and edx, 0x7ffffff
jmp 0x100c19bf
mov ecx, dword [edx + 0x278]
cmp dword [ecx + 0x148], ebx
jbe 0x100c136b
lea ecx, [ebx + ebx*2]
mov ebx, dword [ebp + 0x10]
lea ecx, [eax + ecx*2 + 0xc]
mov edx, dword [ebx + 0x88]
cmp ecx, edx
jb 0x100c0af5
push 0x10337808
push edx
jmp 0x100c1dcc
mov edi, dword [ebp + 0xc]
mov eax, edx
and eax, 0x7ffffff
movzx ecx, byte [edi + 0x257]
shl ecx, 0x10
add ecx, 0x10001
mov esi, ecx
shr esi, 0x10
add eax, esi
mov esi, dword [ebx + 0x7c]
cmp eax, esi
jae 0x100c1e1f
mov esi, dword [ebx + 0x74]
mov eax, dword [esi + eax*4]
test eax, eax
js 0x100c1be4
test eax, 0x8000000
jne 0x100c1c12
xor edx, edx
jmp 0x100c1c84
mov ecx, dword [ecx + 0x27c]
mov eax, 1
and ecx, 0x1f
shl eax, cl
cmp ecx, 0x1b
jae 0x100c1ea3
mov ebx, dword [ebp + 0x10]
or eax, 0x40000000
mov ecx, dword [esp + 4]
test eax, eax
jns 0x100c0bbd
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x24], ebx
push edx
push esi
push eax
push ecx
call fcn.100b8f50
add esp, 0x10
mov eax, dword [esp + 0x50]
cmp dword [esp + 0x4c], 0
je 0x100c13ca
mov ecx, dword [ebp + 8]
jmp 0x100c1766
mov edi, dword [ebp + 0xc]
mov eax, edx
and eax, 0x7ffffff
movzx ecx, byte [edi + 0x257]
shl ecx, 0x10
add ecx, 0x10001
mov esi, ecx
shr esi, 0x10
add eax, esi
mov esi, dword [ebx + 0x7c]
cmp eax, esi
jae 0x100c1e1f
mov esi, dword [ebx + 0x74]
mov eax, dword [esi + eax*4]
mov esi, dword [esp + 4]
test eax, eax
js 0x100c1cb9
mov edx, dword [esp + 0x14]
test eax, 0x8000000
je 0x100c1d92
mov ecx, dword [esp + 0x48]
cmp dword [ecx + 0x148], 1
jne 0x100c1a15
mov dword [esp + 0x3c], 0
mov dword [esp + 0x10], 1
jmp 0x100c1d6a
test edx, 0x40000000
je 0x100c178c
mov eax, dword [ebx + 0xb4]
cmp dword [ebx + 0xb0], 0
mov dword [ebx + 0xb0], 0
je 0x100c1e69
mov ecx, edi
mov edx, dword [esp + 0x14]
sub ecx, eax
neg ecx
sub edi, eax
mov eax, dword [esp + 0x10]
cmovb edi, ecx
mov ecx, dword [ebp + 8]
add dword [ebx + 0x70], edi
jmp 0x100c1d99
mov ecx, dword [edx + 0x27c]
mov edx, 1
and ecx, 0x1f
shl edx, cl
cmp ecx, 0x1b
jae 0x100c1f09
mov ebx, dword [ebp + 0x10]
or edx, 0x40000000
test edx, edx
jns 0x100c0b06
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x4c]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ebx
lea ecx, [esp + 0x20]
push eax
push dword [ebp + 0x14]
push ecx
push edx
call fcn.100b8f50
add esp, 0x10
mov edx, dword [esp + 0x50]
cmp dword [esp + 0x4c], 0
jne 0x100c1067
jmp 0x100c0b06
mov ecx, dword [esp + 4]
cmp ecx, edi
je 0x100c0bc5
dec edi
cmp dword [ebx + 0xb0], 1
jne 0x100c1400
mov ecx, dword [ebx + 0xb8]
mov edx, dword [ebx + 0xb4]
mov esi, ecx
sub esi, edx
neg esi
sub ecx, edx
mov edx, dword [esp + 4]
cmovb ecx, esi
add dword [ebx + 0x70], ecx
mov ecx, edx
mov esi, ecx
add ecx, 3
mov edx, 0xffffffff
mov dword [ebx + 0xb0], 1
mov dword [ebx + 0xb4], edi
mov dword [ebx + 0xb8], edi
cmovae edx, ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x18], edx
mov edx, dword [ecx + 0x278]
mov ecx, dword [ecx + 0x27c]
and ecx, 0x1f
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
jmp 0x100c145d
mov eax, edx
cmp edi, esi
lea edi, [edi - 1]
je 0x100c1691
cmp eax, 0x7ffffff
jbe 0x100c14c0
cmp dword [ebx + 0xb0], 0
je 0x100c1e45
cmp edi, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [ebx + 0xb8], edi
jae 0x100c1d00
movzx ecx, byte [ecx + edi]
mov edx, dword [ebp + 0xc]
movzx esi, byte [edx + ecx + 0x158]
mov edx, eax
and edx, 0x7ffffff
add edx, esi
mov esi, dword [ebx + 0x7c]
cmp edx, esi
jae 0x100c1daa
mov esi, dword [ebx + 0x74]
mov edx, dword [esi + edx*4]
test edx, edx
js 0x100c161e
mov esi, dword [esp + 4]
jmp 0x100c1600
cmp edi, esi
jb 0x100c1452
mov ecx, dword [ebx + 0x74]
dec edi
mov ebx, edi
mov dword [esp + 0x1c], ecx
nop
mov edx, dword [esp + 8]
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x1c]
lea edi, [ebx + 1]
movzx edx, byte [edx + ebx + 1]
movzx edx, byte [esi + edx + 0x158]
add edx, eax
mov edx, dword [ecx + edx*4]
cmp edx, 0x7ffffff
ja 0x100c1576
cmp edi, dword [esp + 0x18]
jbe 0x100c1576
mov esi, dword [esp + 8]
mov ecx, dword [ebp + 0xc]
mov edi, dword [esp + 0x1c]
movzx eax, byte [esi + ebx]
movzx eax, byte [ecx + eax + 0x158]
add eax, edx
mov eax, dword [edi + eax*4]
cmp eax, 0x7ffffff
ja 0x100c1582
movzx edx, byte [esi + ebx - 1]
movzx edx, byte [ecx + edx + 0x158]
mov ecx, dword [esp + 4]
add edx, eax
mov edx, dword [edi + edx*4]
cmp edx, 0x7ffffff
ja 0x100c1592
movzx eax, byte [esi + ebx - 2]
mov esi, dword [ebp + 0xc]
movzx eax, byte [esi + eax + 0x158]
add eax, edx
mov eax, dword [edi + eax*4]
cmp eax, 0x7ffffff
ja 0x100c159f
lea edi, [ebx - 4]
add ebx, 0xfffffffd
cmp ebx, ecx
mov ebx, edi
jae 0x100c14d0
mov ebx, dword [ebp + 0x10]
mov esi, ecx
inc edi
jmp 0x100c1452
mov esi, dword [esp + 4]
mov ebx, eax
test edx, edx
jns 0x100c15fd
jmp 0x100c15ae
mov esi, dword [esp + 4]
mov edi, ebx
mov ebx, edx
mov edx, eax
test edx, edx
jns 0x100c15fd
jmp 0x100c15ae
dec ebx
mov edi, ebx
mov ebx, eax
mov esi, ecx
test edx, edx
jns 0x100c15fd
jmp 0x100c15ae
add ebx, 0xfffffffe
mov edi, ebx
mov ebx, edx
mov edx, eax
mov esi, ecx
test edx, edx
jns 0x100c15fd
mov esi, dword [ebp + 0x10]
cmp dword [esi + 0xb0], 0
je 0x100c1e45
cmp edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0xb8], edi
jae 0x100c1dda
mov eax, dword [esp + 8]
mov edx, dword [ebp + 0xc]
mov esi, dword [esi + 0x7c]
movzx eax, byte [eax + edi]
movzx edx, byte [edx + eax + 0x158]
add edx, ebx
cmp edx, esi
jae 0x100c1daa
mov edx, dword [ecx + edx*4]
test edx, edx
js 0x100c1645
mov esi, dword [esp + 4]
mov ebx, dword [ebp + 0x10]
cmp edx, 0x8000000
jb 0x100c1450
mov eax, edx
and eax, 0x10000000
jne 0x100c1450
jmp 0x100c1774
mov edx, dword [ebp + 0xc]
shl ecx, 8
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ebx
push ecx
push eax
lea eax, [esp + 0x28]
push eax
call fcn.100b7c80
add esp, 0xc
mov esi, dword [esp + 4]
test eax, eax
je 0x100c1600
jmp 0x100c166d
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
shl eax, 8
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
push eax
push ebx
lea eax, [esp + 0x28]
push eax
call fcn.100b7c80
add esp, 0xc
mov esi, dword [esp + 4]
test eax, eax
je 0x100c15fd
mov eax, dword [0x1044f00c]
movzx eax, byte [eax]
push 4
push 0xc
call fcn.10001510
add esp, 8
test eax, eax
je 0x100c1e5b
mov byte [eax], 1
jmp 0x100c08ec
mov ecx, dword [ebx + 0xb4]
cmp dword [ebx + 0xb0], 0
mov dword [ebx + 0xb0], 0
je 0x100c1e69
mov edi, dword [esp + 4]
mov edx, esi
sub edx, ecx
neg edx
sub edi, ecx
mov ecx, dword [esp + 4]
cmovb edi, edx
add dword [ebx + 0x70], edi
test ecx, ecx
je 0x100c1800
lea edi, [ecx - 1]
mov ecx, dword [esp + 0xc]
cmp edi, ecx
jae 0x100c1df6
mov ecx, dword [esp + 8]
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [ecx + edi]
mov byte [esp + 8], cl
movzx ecx, cl
movzx esi, byte [edx + ecx + 0x158]
mov edx, eax
and edx, 0x7ffffff
add edx, esi
mov esi, dword [ebx + 0x7c]
cmp edx, esi
jae 0x100c1daa
mov esi, dword [ebx + 0x74]
mov edx, dword [esi + edx*4]
mov esi, dword [esp + 4]
test edx, edx
js 0x100c1b6d
test edx, 0x8000000
jne 0x100c18ec
test edx, 0x20000000
je 0x100c1847
mov eax, dword [0x1044f00c]
movzx eax, byte [eax]
push 4
push 0xc
call fcn.10001510
add esp, 8
test eax, eax
je 0x100c1e5b
movzx ecx, byte [esp + 8]
mov byte [eax], 0
mov esi, edi
mov byte [eax + 1], cl
mov ecx, dword [ebp + 8]
mov dword [eax + 4], esi
mov dword [ecx + 4], eax
mov dword [ecx], 2
jmp 0x100c1c8f
test edx, 0x8000000
jne 0x100c184e
test edx, 0x40000000
jne 0x100c1982
test edx, 0x20000000
je 0x100c1ea9
mov eax, dword [ebx + 0xb4]
cmp dword [ebx + 0xb0], 0
mov esi, dword [esp + 8]
mov dword [ebx + 0xb0], 0
je 0x100c1e69
mov ecx, edi
mov edx, edi
sub ecx, eax
neg ecx
sub edx, eax
mov eax, dword [esp + 0xc]
cmovb edx, ecx
add dword [ebx + 0x70], edx
cmp edi, eax
jae 0x100c1e3a
mov eax, dword [0x1044f00c]
movzx ebx, byte [esi + edi]
movzx eax, byte [eax]
push 4
push 0xc
call fcn.10001510
add esp, 8
test eax, eax
je 0x100c1e5b
mov byte [eax], 0
mov byte [eax + 1], bl
jmp 0x100c08ec
mov edi, dword [ebp + 0xc]
mov edx, eax
and edx, 0x7ffffff
movzx ecx, byte [edi + 0x257]
shl ecx, 0x10
add ecx, 0x10001
mov esi, ecx
shr esi, 0x10
add edx, esi
mov esi, dword [ebx + 0x7c]
cmp edx, esi
jae 0x100c1e0f
mov esi, dword [ebx + 0x74]
mov edx, dword [esi + edx*4]
test edx, edx
js 0x100c1c99
test edx, 0x8000000
jne 0x100c1967
xor eax, eax
jmp 0x100c1a0b
mov ecx, dword [esp + 0x14]
xor eax, eax
cmp dword [ecx + 0x148], 1
je 0x100c18aa
and edx, 0x7ffffff
mov ecx, dword [esp + 0x10]
shr edx, cl
mov ecx, dword [ebx + 0x94]
cmp edx, ecx
jae 0x100c1e16
mov esi, dword [ebx + 0x8c]
mov ecx, dword [esi + edx*8 + 4]
test ecx, ecx
je 0x100c1dcf
mov edx, dword [esi + edx*8]
test byte [edx + 8], 2
je 0x100c18aa
cmp ecx, 8
jbe 0x100c1ee5
add ecx, 0xfffffff7
cmp ecx, 3
jbe 0x100c1ef7
mov eax, dword [edx + 0x11]
mov ecx, dword [ebx + 0xb4]
cmp dword [ebx + 0xb0], 0
mov dword [ebx + 0xb0], 0
je 0x100c1e69
mov edx, edi
mov esi, edi
sub edx, ecx
neg edx
sub esi, ecx
mov ecx, dword [ebp + 8]
cmovb esi, edx
inc edi
add dword [ebx + 0x70], esi
mov dword [ecx], 1
mov dword [ecx + 4], eax
mov dword [ecx + 8], edi
jmp 0x100c1c8f
mov ecx, dword [esp + 0x14]
xor edi, edi
mov eax, 1
cmp dword [ecx + 0x148], 1
je 0x100c1a0b
mov ecx, dword [esp + 0x10]
and edx, 0x7ffffff
mov esi, dword [ebp + 0x10]
shr edx, cl
mov ecx, dword [esi + 0x94]
cmp edx, ecx
jae 0x100c1e16
mov ecx, dword [esi + 0x8c]
mov esi, dword [ecx + edx*8 + 4]
test esi, esi
je 0x100c1dcf
mov ecx, dword [ecx + edx*8]
test byte [ecx + 8], 2
je 0x100c1a07
cmp esi, 8
jbe 0x100c1f35
add esi, 0xfffffff7
cmp esi, 3
ja 0x100c1a04
push 0x1033a0f0
push esi
push 4
call fcn.1002ac30
add esp, 0xc
ud2
mov ecx, dword [esp + 0x14]
xor esi, esi
mov eax, 1
cmp dword [ecx + 0x148], 1
jne 0x100c19b5
xor edi, edi
jmp 0x100c1a0b
mov eax, dword [ebx + 0xb4]
cmp dword [ebx + 0xb0], 0
mov dword [ebx + 0xb0], 0
je 0x100c1e69
mov ecx, edi
sub ecx, eax
neg ecx
sub edi, eax
cmovb edi, ecx
mov ecx, dword [ebp + 8]
add dword [ebx + 0x70], edi
jmp 0x100c073f
mov ecx, dword [esp + 0x10]
and edx, 0x7ffffff
shr edx, cl
mov ecx, dword [ebx + 0x94]
cmp edx, ecx
jae 0x100c1e16
mov ecx, dword [ebx + 0x8c]
mov ebx, dword [ecx + edx*8 + 4]
test ebx, ebx
je 0x100c1dcf
mov ecx, dword [ecx + edx*8]
mov edi, 0
test byte [ecx + 8], 2
je 0x100c1a0b
cmp ebx, 8
jbe 0x100c1f47
add ebx, 0xfffffff7
cmp ebx, 3
jbe 0x100c1f59
mov edi, dword [ecx + 0x11]
mov esi, dword [esp + 4]
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
jmp 0x100c1c89
and eax, 0x7ffffff
mov ecx, dword [esp + 0x44]
shr eax, cl
mov ecx, dword [ebx + 0x94]
cmp eax, ecx
jae 0x100c1e30
mov edx, dword [ebx + 0x8c]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x10], 1
mov ecx, dword [edx + eax*8 + 4]
test ecx, ecx
je 0x100c1dcf
mov eax, dword [edx + eax*8]
mov edx, 0
test byte [eax + 8], 2
je 0x100c1d92
jmp 0x100c1d6e
mov edx, dword [ebp + 0xc]
shl ecx, 8
mov dword [esp + 0x20], edx
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x24], edx
lea edx, [esp + 0x20]
push ecx
push eax
push edx
call fcn.100b7c80
add esp, 0xc
test eax, eax
jne 0x100c1bc0
jmp 0x100c0c1d
lea edx, [esp + 0x20]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebx
push ecx
push eax
push edx
call fcn.100b7c80
add esp, 0xc
test eax, eax
jne 0x100c1cda
jmp 0x100c1195
mov eax, dword [ebp + 0xc]
shl ecx, 8
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x20]
push ecx
push edx
push eax
call fcn.100b7c80
add esp, 0xc
test eax, eax
mov ecx, eax
jne 0x100c1bc0
mov eax, edx
test eax, 0x8000000
je 0x100c0b70
mov ebx, dword [ebp + 0xc]
xor edi, edi
mov edx, 1
mov ecx, dword [ebx + 0x278]
cmp dword [ecx + 0x148], 1
je 0x100c1c84
movzx ecx, byte [ebx + 0x27c]
mov esi, dword [ebp + 0x10]
and eax, 0x7ffffff
shr eax, cl
mov ecx, dword [esi + 0x94]
cmp eax, ecx
jae 0x100c1e30
mov esi, dword [esi + 0x8c]
mov ecx, dword [esi + eax*8 + 4]
test ecx, ecx
je 0x100c1dcf
mov eax, dword [esi + eax*8]
test byte [eax + 8], 2
jne 0x100c1b4f
mov esi, dword [esp + 4]
jmp 0x100c1c84
mov esi, dword [esp + 4]
cmp ecx, 8
jbe 0x100c1ee5
add ecx, 0xfffffff7
cmp ecx, 3
ja 0x100c1c81
jmp 0x100c1ef7
mov edx, dword [ebp + 0xc]
shl ecx, 8
mov dword [esp + 0x20], edx
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x24], edx
push ecx
push eax
lea eax, [esp + 0x28]
push eax
call fcn.100b7c80
add esp, 0xc
test eax, eax
jne 0x100c1bc0
jmp 0x100c171f
mov eax, dword [ebp + 0xc]
shl ecx, 8
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x24], eax
push ecx
push edx
lea eax, [esp + 0x28]
push eax
call fcn.100b7c80
add esp, 0xc
test eax, eax
mov ecx, eax
je 0x100c1d0f
mov eax, dword [0x1044f00c]
movzx eax, byte [eax]
push 4
push 0xc
call fcn.10001510
add esp, 8
test eax, eax
je 0x100c1e5b
mov byte [eax], 1
jmp 0x100c1760
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebx
lea eax, [esp + 0x20]
push ecx
push edx
push eax
call fcn.100b7c80
add esp, 0xc
test eax, eax
mov ecx, eax
jne 0x100c1cda
mov eax, edx
test eax, 0x8000000
je 0x100c1247
mov ecx, dword [edi + 0x278]
xor esi, esi
mov edx, 1
cmp dword [ecx + 0x148], 1
jne 0x100c1c2c
xor edi, edi
jmp 0x100c1c84
movzx ecx, byte [edi + 0x27c]
and eax, 0x7ffffff
shr eax, cl
mov ecx, dword [ebx + 0x94]
cmp eax, ecx
jae 0x100c1e30
mov edi, dword [ebx + 0x8c]
mov ecx, dword [edi + eax*8 + 4]
test ecx, ecx
je 0x100c1dcf
mov eax, dword [edi + eax*8]
mov edi, 0
test byte [eax + 8], 2
je 0x100c1c84
cmp ecx, 8
jbe 0x100c1ee5
mov esi, dword [esp + 4]
add ecx, 0xfffffff7
cmp ecx, 3
jbe 0x100c1ef7
mov edi, dword [eax + 0x11]
mov ecx, dword [ebp + 8]
mov dword [ecx], edx
mov dword [ecx + 4], edi
mov dword [ecx + 8], esi
mov eax, ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebx
push ecx
push eax
lea eax, [esp + 0x28]
push eax
call fcn.100b7c80
add esp, 0xc
test eax, eax
jne 0x100c1cda
jmp 0x100c183b
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebx
push ecx
push edx
lea eax, [esp + 0x28]
push eax
call fcn.100b7c80
add esp, 0xc
test eax, eax
mov ecx, eax
je 0x100c1db3
mov eax, dword [0x1044f00c]
movzx eax, byte [eax]
push 4
push 0xc
call fcn.10001510
add esp, 8
test eax, eax
je 0x100c1e5b
mov byte [eax], 1
xor esi, esi
jmp 0x100c1760
push 0x10337ae0
push dword [esp + 0x10]
push edi
jmp 0x100c1e26
mov eax, edx
test eax, 0x8000000
je 0x100c1110
mov ecx, dword [esp + 0x48]
xor edx, edx
cmp dword [ecx + 0x148], 1
je 0x100c1d86
mov edx, dword [ebp + 0x10]
and eax, 0x7ffffff
mov ecx, dword [esp + 0x44]
shr eax, cl
mov ecx, dword [edx + 0x94]
cmp eax, ecx
jae 0x100c1e30
mov edx, dword [edx + 0x8c]
mov dword [esp + 0x10], 1
mov ecx, dword [edx + eax*8 + 4]
test ecx, ecx
je 0x100c1dcf
mov eax, dword [edx + eax*8]
test byte [eax + 8], 2
jne 0x100c1d6e
mov dword [esp + 0x3c], esi
xor edx, edx
jmp 0x100c1d92
cmp ecx, 8
jbe 0x100c1ee5
add ecx, 0xfffffff7
cmp ecx, 3
jbe 0x100c1ef7
mov edx, dword [eax + 0x11]
mov dword [esp + 0x10], 1
mov dword [esp + 0x3c], esi
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x10]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], eax
jmp 0x100c1c8f
push 0x10337468
push esi
push edx
jmp 0x100c1e26
mov eax, edx
mov edx, dword [esp + 0x14]
test eax, 0x8000000
jne 0x100c12fe
jmp 0x100c1d92
push 0x10337468
push esi
push ecx
jmp 0x100c1e26
push 0x1033a1a4
push 0
push 0
jmp 0x100c1e26
push 0x10337ad0
jmp 0x100c1d05
push 0x10337818
push ecx
push ebx
jmp 0x100c1e26
push 0x10337468
push ebx
push edx
jmp 0x100c1e26
push 0x10337b30
push ecx
jmp 0x100c1d09
push 0x10337b30
jmp 0x100c1e3f
push 0x10337468
jmp 0x100c1e24
push 0x10337478
jmp 0x100c1daf
push 0x10337818
push ecx
push edx
jmp 0x100c1e26
push 0x10337478
push esi
push eax
call fcn.100273d0
add esp, 0xc
ud2
push 0x10337818
jmp 0x100c1153
push 0x10337b00
push eax
jmp 0x100c1d09
push 0x103379cc
push 0x1f
push str.no_in_progress_search_to_update
call fcn.10027060
add esp, 0xc
ud2
push 0xc
push 4
call fcn.1001ac80
add esp, 8
ud2
push 0x103375b0
push 0x1f
push str.no_in_progress_search_to_finish
call fcn.10027060
add esp, 0xc
ud2
push 0x1033a1d4
push eax
push 9
call fcn.1002abd0
add esp, 0xc
ud2
push 0x1033a0f0
push eax
push 4
call fcn.1002ac30
add esp, 0xc
ud2
mov dword [esp + 0x20], eax
jmp 0x100c1f0d
lea eax, [esp + 0x40]
mov dword [esp + 0x20], 0x10337aa8
mov dword [esp + 0x24], 1
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
push 0x10337af0
lea eax, [esp + 0x24]
push eax
call fcn.100272b0
add esp, 8
ud2
push 0x1033a1d4
push ecx
push 9
call fcn.1002abd0
add esp, 0xc
ud2
push 0x1033a0f0
push ecx
push 4
call fcn.1002ac30
add esp, 0xc
ud2
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], 0
lea eax, [esp + 0x20]
push 0x10337828
push 0x103369e4
push eax
push 0x2b
push 0x103369a8
call fcn.10027650
add esp, 0x14
ud2
push 0x1033a1d4
push esi
push 9
call fcn.1002abd0
add esp, 0xc
ud2
push 0x1033a1d4
push ebx
push 9
call fcn.1002abd0
add esp, 0xc
ud2
push 0x1033a0f0
push ebx
push 4
call fcn.1002ac30
add esp, 0xc
ud2