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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xc0
mov eax, dword [0x101d2014]
xor eax, ebp
mov dword [esp + 0xb8], eax
mov dword [esp + 4], edx
mov eax, dword [ecx]
mov dword [esp + 0x68], eax
mov eax, dword [ecx + 8]
mov dword [esp], eax
mov eax, dword [edx + 0x24]
movsx edx, word [edx + 0x2a]
test al, al
mov dword [esp + 8], edx
js 0x100a0952
xor esi, esi
xor edx, edx
inc edx
mov dword [esp + 0x10], ecx
mov cl, byte [ebp + 0x20]
bt eax, 0xb
mov dword [esp + 0x5c], edx
mov dword [esp + 0x34], esi
mov byte [esp + 0x33], cl
mov ecx, dword [ebp + 0x14]
jb 0x100a0693
mov eax, dword [esp + 4]
mov esi, dword [ebp + 0x30]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x24], 0
mov edi, dword [eax + 0x18]
test edi, edi
jne 0x100a1898
test esi, esi
jne 0x100a124a
mov edi, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x68]
mov dword [esp + 0x60], ecx
mov eax, dword [eax + 0x20]
test eax, 0x6000
je 0x100a0979
bt eax, 0xd
jae 0x100a05e6
mov edx, dword [esp + 4]
xor eax, eax
mov dword [esp + 0x74], 0
mov ecx, edi
push eax
push eax
push 0x7e
call fcn.1009b0e0
add esp, 0xc
test eax, eax
jne 0x100a0ce0
mov eax, dword [edi]
mov edx, dword [esp]
mov ecx, 0
mov dword [esp + 0x38], 0
test byte [eax + 0x21], 0x40
mov eax, 0
jne 0x100a1b1b
cmp byte [ebp + 0x1c], 0
je 0x100a0143
cmp dword [esp + 0x34], 0
je 0x100a0d93
mov dword [esp + 0x40], 0
xor edi, edi
mov dword [esp + 0x1c], 0
mov esi, dword [esp + 4]
xor ebx, ebx
mov esi, dword [esi + 8]
test esi, esi
jne 0x100a020e
mov dword [esp + 0x64], ecx
test edi, edi
jne 0x100a1a8f
cmp dword [esp + 0x40], 0
mov esi, dword [esp + 4]
jne 0x100a11a7
mov edi, dword [ebp + 0x28]
cmp byte [esi + 0x24], 0
js 0x100a01f2
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x6c]
movsx edi, word [esi + 0x2c]
mov eax, dword [eax + ebx*4]
mov ebx, dword [ebp + 0x14]
inc ebx
cmp dword [edx + 0x70], ecx
jle 0x100a0c8a
mov dword [esp + 0xc], eax
mov eax, esi
mov esi, edx
lea edx, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
mov esi, eax
mov eax, dword [esp + 0xc]
mov dword [edx + ecx*4], 0x5b
mov dword [edx + ecx*4 + 4], ebx
mov dword [edx + ecx*4 + 8], edi
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], 0
cmp byte [esp + 0x24], 0
mov ecx, dword [esp]
mov edi, dword [ebp + 0x28]
jne 0x100a01f2
mov edx, esi
push 0
call fcn.1007b290
add esp, 4
mov eax, dword [esp + 0x1c]
mov dword [edi], eax
mov ecx, dword [esp + 0xb8]
xor ecx, ebp
call fcn.10192ef0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x60]
xor ebx, ebx
mov dword [esp + 0x80], 0
mov dword [esp + 0x64], ecx
inc eax
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 8]
cmp dword [eax + ebx*4], 0
jne 0x100a0246
mov esi, dword [esi + 0x14]
inc ebx
test esi, esi
je 0x100a016a
jmp 0x100a022f
cmp dword [esp + 0x2c], esi
mov dword [esp + 8], esi
mov dword [esp + 0x3c], ecx
je 0x100a13af
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x38]
dec ecx
mov dword [esp + 0x48], ecx
mov dword [eax + 0x38], ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x2c]
inc eax
cmp ecx, esi
mov dword [esp + 0x20], eax
setne ah
test ecx, ecx
setne cl
test cl, ah
jne 0x100a02a4
cmp byte [esp + 0x24], 0
jne 0x100a02a4
mov ecx, edx
mov edx, dword [esp + 4]
push dword [esp + 0x20]
call fcn.1007b290
mov edx, dword [esp + 4]
add esp, 4
mov al, 1
mov dword [esp + 0x24], eax
cmp dword [esi + 0x24], 0
jne 0x100a1440
mov eax, dword [ebp + 8]
mov dword [esp + 0x18], edi
xor edi, edi
cmp word [esi + 0x34], 0
mov ecx, dword [eax + ebx*4]
lea eax, [ecx + 1]
mov dword [esp + 0x78], ecx
mov dword [esp + 0xc], eax
je 0x100a057c
mov eax, dword [esi + 4]
movsx eax, word [eax + edi*2]
cmp eax, 0xffffffff
je 0x100a035a
cmp ax, 0xfffe
je 0x100a180a
mov ecx, dword [esp + 4]
cmp ax, word [ecx + 0x28]
je 0x100a035a
mov ecx, dword [esp + 4]
test byte [ecx + 0x24], 0x20
jne 0x100a1845
mov ecx, dword [esp + 0xc]
cwde
add eax, dword [esp + 0x20]
add ecx, edi
mov dword [esp + 0x14], ecx
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jle 0x100a038f
mov esi, ebx
mov ebx, edx
lea edx, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [ebx + 0x6c], edx
mov edx, dword [ebx + 0x68]
mov ebx, esi
mov esi, dword [esp + 8]
mov dword [edx + ecx*4], 0x4e
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [esp + 0x14]
mov dword [edx + ecx*4 + 8], eax
xor eax, eax
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], eax
movzx ecx, word [esi + 0x34]
mov edx, dword [esp]
inc edi
cmp edi, ecx
jb 0x100a02d0
jmp 0x100a03a7
mov ecx, dword [edx + 0x6c]
mov eax, dword [esp + 0xc]
cmp dword [edx + 0x70], ecx
lea eax, [edi + eax]
jle 0x100a1426
mov esi, edx
lea edx, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
mov esi, dword [ebp + 0x14]
mov dword [edx + ecx*4], 0x4f
mov dword [edx + ecx*4 + 4], esi
mov esi, dword [esp + 8]
jmp 0x100a033a
mov ecx, edx
mov edx, 0x4e
push 0
push dword [esp + 0x18]
push eax
call fcn.1004e590
add esp, 0xc
jmp 0x100a0348
mov eax, dword [ebp + 8]
mov edi, ecx
mov eax, dword [eax + ebx*4]
mov ecx, dword [edx + 0x6c]
movzx esi, di
cmp dword [edx + 0x70], ecx
jle 0x100a0f5b
mov edi, edx
lea edx, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
mov edi, dword [esp + 0xc]
mov dword [edx + ecx*4], 0x5b
mov dword [edx + ecx*4 + 4], edi
mov dword [edx + ecx*4 + 8], esi
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], 0
mov edi, dword [ebp + 0x10]
cmp byte [ebp + 0x1c], 0
mov esi, dword [esp + 8]
jne 0x100a0408
cmp dword [ebp + 0x18], 0
je 0x100a0408
cmp dword [esp + 0x34], esi
je 0x100a0583
mov al, byte [esi + 0x36]
mov edx, dword [esp]
test al, al
jne 0x100a043d
mov ecx, dword [edx + 0xc]
mov edi, dword [esp + 0x48]
mov eax, dword [ecx + 0x38]
not edi
add eax, dword [ecx + 0x3c]
js 0x100a0567
mov eax, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], eax
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x18]
jmp 0x100a0238
cmp al, 0xb
movzx ecx, al
mov eax, 2
cmove ecx, eax
mov al, byte [esp + 0x33]
cmp al, 0xb
movzx eax, al
cmove eax, ecx
cmp dword [esp + 0x2c], esi
je 0x100a1399
movzx eax, al
test ebx, ebx
mov dword [esp + 0x44], eax
jne 0x100a0480
cmp dword [esp + 0x34], esi
jne 0x100a0480
cmp eax, 5
jne 0x100a0480
cmp dword [esi + 0x14], 0
je 0x100a0d38
mov ecx, dword [edx + 0x6c]
movzx esi, word [esi + 0x32]
add edi, ebx
mov dword [esp + 0x6c], edi
cmp dword [edx + 0x70], ecx
jle 0x100a1552
lea eax, [ecx + 1]
mov dword [esp + 0x14], esi
mov esi, ecx
mov esi, dword [esp + 0x48]
mov dword [esp + 0x20], ecx
lea ecx, [ecx + ecx*4]
mov dword [edx + 0x6c], eax
mov eax, dword [edx + 0x68]
mov dword [eax + ecx*4], 0x1c
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0xc]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x14]
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edx]
cmp byte [eax + 0x51], 0
jne 0x100a04ee
mov ecx, dword [esp + 0x20]
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], esi
mov esi, dword [esp + 8]
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x34], esi
mov dword [esp + 0x14], eax
jne 0x100a0ef3
cmp dword [ebp + 0x18], 0
mov ecx, dword [esp + 0x44]
jne 0x100a0f7c
cmp ecx, 5
je 0x100a0f7c
mov eax, ecx
dec al
cmp al, 3
jae 0x100a09ad
jmp 0x100a0edb
cmp dword [esp + 0x2c], esi
je 0x100a1323
mov ecx, dword [edx + 0xc]
mov edi, dword [esp + 0x48]
mov eax, dword [ecx + 0x38]
not edi
add eax, dword [ecx + 0x3c]
jns 0x100a099f
jmp 0x100a12ac
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
cmp eax, dword [esp + 0xc]
je 0x100a0434
jmp 0x100a0f1d
mov edx, dword [esp]
push edi
call fcn.10078ce0
mov edx, dword [esp + 4]
add esp, 4
jmp 0x100a0430
mov eax, ecx
jmp 0x100a03af
mov edx, dword [esp]
jmp 0x100a0412
mov eax, dword [eax]
dec esi
xor edx, edx
mov edi, dword [eax + 0xc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
movzx ecx, byte [edi + edx]
movzx eax, byte [eax + edx]
cmp cl, al
jne 0x100a05b2
test cl, cl
je 0x100a14fd
inc edx
jmp 0x100a0597
mov cl, byte [ecx + 0x10194380]
cmp cl, byte [eax + 0x10194380]
je 0x100a05af
mov eax, dword [esp + 0x20]
test esi, esi
jne 0x100a058b
mov edx, dword [esp]
mov ecx, 0x101d4a18
cmp dword [ecx + 8], 0
mov edi, dword [ebp + 0x10]
mov esi, dword [esp + 8]
je 0x100a0412
jmp 0x100a0480
mov eax, dword [edi]
test byte [eax + 0x21], 0x40
je 0x100a1b0f
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x48]
mov edx, dword [eax]
mov edi, dword [esi + 0x44]
mov dword [esp + 0xc], edx
test edi, edi
jne 0x100a0ca1
lea eax, [esi + 0x40]
add esi, 0x3c
mov dword [esp + 0x74], 0
mov esi, dword [esi]
mov edx, dword [esp]
mov ecx, 0x101d4a18
test esi, esi
je 0x100a0663
mov eax, dword [eax]
dec esi
xor ebx, ebx
mov edi, dword [eax + 0xc]
mov ecx, dword [esp + 0xc]
movzx edx, byte [edi + ebx]
movzx ecx, byte [ecx + ebx]
cmp dl, cl
jne 0x100a0649
test dl, dl
je 0x100a0995
inc ebx
jmp 0x100a062e
mov dl, byte [edx + 0x10194380]
cmp dl, byte [ecx + 0x10194380]
je 0x100a0646
test esi, esi
jne 0x100a0626
mov edx, dword [esp]
mov ecx, 0x101d4a18
cmp dword [ecx + 8], 0
mov edi, dword [esp + 0x10]
jne 0x100a0f75
mov ecx, dword [esp + 4]
xor eax, eax
cmp dword [ecx + 0x10], 0
mov ecx, 0
mov dword [esp + 0x38], 0
je 0x100a0132
jmp 0x100a0ce3
lea eax, [ecx + 1]
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], eax
inc ecx
xor eax, eax
cmp word [esp + 8], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x40], edx
jle 0x100a08f2
mov eax, dword [esp + 0x24]
xor al, 1
xor edi, edi
mov byte [esp + 0x1c], al
mov edx, dword [esp + 4]
cmp edi, 1
mov eax, ecx
cmova eax, edi
mov ebx, dword [edx + 4]
lea edx, [edi + edi*4]
mov dword [esp + 0xc], edx
mov dl, byte [ebx + edx*4 + 0xc]
test dl, dl
je 0x100a0848
mov ecx, dword [esp + 4]
movsx ecx, word [ecx + 0x28]
cmp edi, ecx
je 0x100a0845
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x14], ebx
movzx ecx, word [ebx + ecx*4 + 0x10]
test cl, 0x60
sete dh
or dh, byte [esp + 0x24]
test dh, 1
je 0x100a1801
cmp dword [ebp + 0x2c], 0
je 0x100a0733
test cl, 0x60
jne 0x100a0733
mov ebx, dword [ebp + 0x2c]
cmp dword [ebx + edi*4], 0
js 0x100a0845
cmp dl, 0xb
movzx ebx, dl
mov edx, 2
cmove ebx, edx
mov dl, byte [ebp + 0x20]
cmp dl, 0xb
movzx edx, dl
cmove edx, ebx
cmp dl, 5
je 0x100a0858
mov bl, byte [esp + 0x1c]
mov esi, dword [esp + 0x14]
test cl, 0x60
sete cl
xor bl, 1
test cl, bl
jne 0x100a0845
movzx edx, dl
test di, di
jns 0x100a077b
mov ecx, edi
jmp 0x100a078d
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x24]
and ecx, 0x20
mov ecx, edi
jne 0x100a1b43
movsx ebx, cx
add ebx, dword [esp + 0x2c]
cmp dl, 2
jne 0x100a087c
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x74]
test eax, eax
cmove eax, ecx
mov byte [eax + 0x15], 1
mov eax, dword [esp + 0xc]
mov ecx, esi
mov esi, ebx
mov ebx, edx
push dword [ecx + eax*4]
mov eax, dword [esp + 8]
push dword [eax]
push 0x101ae5f2
push dword [esp + 0x74]
call fcn.1000f4f0
add esp, 0x10
mov edx, dword [esp]
mov dword [esp + 0xc], eax
mov eax, dword [edx + 0x6c]
cmp dword [edx + 0x70], eax
jle 0x100a08d3
lea ecx, [eax + 1]
lea eax, [eax + eax*4]
mov dword [edx + 0x6c], ecx
mov ecx, dword [edx + 0x68]
mov dword [ecx + eax*4], 0x43
mov dword [ecx + eax*4 + 4], 0x513
mov dword [ecx + eax*4 + 8], ebx
mov dword [ecx + eax*4 + 0xc], esi
mov dword [ecx + eax*4 + 0x10], 0
mov ecx, dword [edx]
cmp byte [ecx + 0x51], 0
jne 0x100a1ae6
mov ecx, dword [edx + 0x6c]
mov eax, dword [edx + 0x68]
mov esi, dword [esp + 0xc]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 - 0x13], 0xf9
mov dword [eax + ecx*4 - 4], esi
mov eax, dword [edx + 0x6c]
test eax, eax
jle 0x100a0845
mov ecx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 1
xor ecx, ecx
inc ecx
inc edi
cmp edi, dword [esp + 8]
jne 0x100a06c9
jmp 0x100a08f2
test byte [esp + 0x24], 1
mov esi, dword [esp + 0x14]
jne 0x100a0872
mov ecx, dword [esp + 0xc]
cmp dword [esi + ecx*4 + 4], 0
jne 0x100a1bdf
mov edx, 2
jmp 0x100a0772
cmp dl, 1
je 0x100a07ad
cmp dl, 3
je 0x100a07ad
cmp dl, 5
je 0x100a1be9
mov ecx, dword [esp]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x100a153a
lea edx, [eax + 1]
lea eax, [eax + eax*4]
mov dword [ecx + 0x6c], edx
mov edx, dword [ebp + 0x24]
mov ecx, dword [ecx + 0x68]
mov dword [ecx + eax*4], 0x32
mov dword [ecx + eax*4 + 4], ebx
mov dword [ecx + eax*4 + 8], edx
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
jmp 0x100a0845
mov ecx, edx
mov edx, 0x43
push esi
push ebx
push 0x513
call fcn.1004e590
mov edx, dword [esp + 0xc]
add esp, 0xc
jmp 0x100a080f
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x24]
mov eax, esi
or eax, edx
sete al
or bl, al
test bl, 1
jne 0x100a0095
mov al, 1
test esi, esi
mov dword [esp + 0x24], eax
mov eax, esi
jle 0x100a06a9
mov esi, dword [esp + 4]
test byte [esi + 0x24], 0x60
je 0x100a06a9
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
push dword [esp + 4]
call fcn.1009fde0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x44]
xor ecx, ecx
inc ecx
add esp, 4
jmp 0x100a06a9
mov edx, dword [esp + 4]
mov esi, dword [edx + 8]
test esi, esi
je 0x100a1bb6
mov edx, dword [esi + 0x38]
and edx, 3
cmp edx, 2
jne 0x100a1438
movzx edx, word [esi + 0x32]
jmp 0x100a0075
mov edx, dword [esp]
mov dword [esp + 0x74], 0
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x38], 0
jmp 0x100a0132
mov edx, dword [esp]
mov ecx, eax
jmp 0x100a0663
mov eax, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], eax
jmp 0x100a0550
cmp cl, 4
je 0x100a12de
cmp cl, 6
je 0x100a12c1
mov edx, dword [edx + 0x6c]
cmp dword [esp + 0x38], 0
je 0x100a09dd
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x74]
test eax, eax
cmove eax, ecx
inc dword [esp + 0x40]
mov byte [eax + 0x14], 1
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0x58], 0
movsx esi, word [esp + 0x5c]
mov dword [esp + 0x1c], edx
je 0x100a09fb
cmp dword [ebp + 0x18], 0
jne 0x100a1fa9
xor eax, eax
cmp ecx, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 4]
sete al
push dword [esp + 0x6c]
push eax
push 5
push 0
push esi
push dword [esp + 0x28]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [esp + 0x78]
call fcn.1009b820
add esp, 0x24
cmp dword [esp + 0x38], 0
mov edx, dword [esp]
je 0x100a1654
mov eax, dword [edx + 0x6c]
cmp dword [edx + 0x70], eax
jle 0x100a16cb
lea ecx, [eax + 1]
mov esi, dword [esp + 0x38]
lea eax, [eax + eax*4]
mov dword [edx + 0x6c], ecx
mov ecx, dword [edx + 0x68]
mov dword [ecx + eax*4], 0x52
mov dword [ecx + eax*4 + 4], esi
xor esi, esi
mov dword [ecx + eax*4 + 8], 1
mov dword [ecx + eax*4 + 0xc], esi
mov dword [ecx + eax*4 + 0x10], esi
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jle 0x100a16eb
lea eax, [ecx + 1]
mov dword [esp + 0x44], ecx
lea ecx, [ecx + ecx*4]
mov esi, 0
mov dword [edx + 0x6c], eax
mov eax, dword [edx + 0x68]
mov byte [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 0xd], esi
mov dword [eax + ecx*4 + 5], esi
mov dword [eax + ecx*4 + 1], esi
mov dword [eax + ecx*4 + 9], esi
mov dword [eax + ecx*4 + 0x10], esi
mov ecx, dword [edx + 0xc]
mov esi, dword [esp + 0x64]
mov eax, dword [ecx + 0x38]
not esi
add eax, dword [ecx + 0x3c]
js 0x100a1d8a
mov eax, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + esi*4], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 8]
mov eax, dword [ecx + 0x38]
sub edx, dword [esp + 0x20]
dec eax
mov dword [ecx + 0x38], eax
mov dword [esp + 0x64], eax
cmp dword [esi + 0x24], 0
jne 0x100a1d9b
mov eax, dword [esp + 0x20]
test edx, edx
jle 0x100a1131
inc edx
test eax, eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
js 0x100a1dc5
mov edx, dword [esp]
mov ecx, dword [edx]
cmp byte [ecx + 0x51], 0
jne 0x100a1dd1
lea eax, [eax + eax*4]
shl eax, 2
add eax, dword [edx + 0x68]
movzx edx, byte [eax]
cmp edx, 0x87
je 0x100a0c16
movzx ecx, word [eax + 2]
mov esi, dword [eax + 0x10]
mov edi, dword [eax + 0xc]
test byte [edx + 0x101953f1], 1
mov word [esp + 0x6c], cx
mov ecx, dword [eax + 4]
mov dword [esp + 0x28], ecx
mov cl, byte [eax + 1]
mov byte [esp + 0x78], cl
mov ecx, dword [esp + 0x64]
jne 0x100a0b60
mov ecx, dword [eax + 8]
mov dword [esp + 0x54], esi
mov esi, dword [esp]
mov dword [esp + 0x70], ecx
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x100a0c72
lea ecx, [eax + 1]
mov dword [esp + 0x7c], edi
lea edi, [eax + eax*4]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
mov byte [ecx + edi*4], dl
mov edx, dword [esp + 0x28]
mov word [ecx + edi*4 + 2], 0
mov dword [ecx + edi*4 + 4], edx
mov edx, dword [esp + 0x70]
mov dword [ecx + edi*4 + 8], edx
mov edx, dword [esp + 0x7c]
mov dword [ecx + edi*4 + 0xc], edx
mov dword [ecx + edi*4 + 0x10], 0
mov byte [ecx + edi*4 + 1], 0
mov dl, byte [esp + 0x78]
movsx ecx, dl
mov dword [esp + 0x28], ecx
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
jne 0x100a1ddb
test eax, eax
js 0x100a0c69
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
test dl, dl
js 0x100a0c2e
lea edx, [ecx + eax*4]
mov ecx, dword [esp]
push dword [esp + 0x28]
push dword [esp + 0x58]
call fcn.1004e710
add esp, 8
mov esi, dword [esp + 8]
mov eax, dword [esp]
mov eax, dword [eax + 0x6c]
test eax, eax
jle 0x100a0c16
mov ecx, dword [esp]
movzx edx, word [esp + 0x6c]
lea eax, [eax + eax*4]
mov ecx, dword [ecx + 0x68]
mov word [ecx + eax*4 - 0x12], dx
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
dec edx
inc eax
cmp edx, 1
jg 0x100a0afc
jmp 0x100a1131
cmp byte [ecx + eax*4 + 1], 0
jne 0x100a0bdf
lea esi, [ecx + eax*4 + 1]
cmp dl, 0xfd
mov dword [esp + 0x28], esi
mov esi, dword [esp + 8]
je 0x100a1743
mov edx, dword [esp + 0x54]
test edx, edx
je 0x100a0bf9
mov dword [ecx + eax*4 + 0x10], edx
mov al, byte [esp + 0x78]
mov edi, dword [esp + 0x28]
cmp al, 0xf4
mov byte [edi], al
jne 0x100a0bf9
jmp 0x100a2023
mov eax, dword [esi + 0x6c]
dec eax
jmp 0x100a0bd5
mov ecx, esi
push edi
push dword [esp + 0x74]
push dword [esp + 0x30]
call fcn.1004e590
add esp, 0xc
jmp 0x100a0bb6
mov ecx, edx
mov edx, 0x5b
push eax
push edi
push ebx
call fcn.1004e590
add esp, 0xc
jmp 0x100a01d9
mov bl, byte [edx]
mov dword [esp + 0x74], 0
test bl, bl
je 0x100a160f
inc edx
xor eax, eax
movzx ecx, bl
mov bl, byte [edx]
inc edx
movzx ecx, byte [ecx + 0x10194380]
add ecx, eax
imul eax, ecx, 0x9e3779b1
test bl, bl
jne 0x100a0cb6
xor edx, edx
div dword [esi + 0x38]
lea eax, [edi + edx*8 + 4]
lea esi, [edi + edx*8]
jmp 0x100a0618
mov edx, dword [esp]
mov esi, dword [edi + 0x2c]
mov dword [esp + 0x58], eax
mov eax, edi
inc esi
mov dword [edi + 0x2c], esi
mov dword [esp + 0x38], esi
mov eax, dword [edx + 0x6c]
cmp dword [edx + 0x70], eax
jle 0x100a1509
lea ecx, [eax + 1]
lea eax, [eax + eax*4]
mov dword [edx + 0x6c], ecx
mov ecx, dword [edx + 0x68]
xor edx, edx
mov dword [ecx + eax*4], 0x45
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], esi
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov ecx, dword [edi + 0x38]
mov edx, dword [esp]
mov eax, dword [esp + 0x58]
dec ecx
mov dword [edi + 0x38], ecx
jmp 0x100a0132
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x20]
bt eax, 0xd
jb 0x100a1179
bt eax, 0xe
jae 0x100a0412
mov eax, dword [esp + 4]
cmp dword [eax + 0x10], 0
jne 0x100a0480
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x48]
mov ecx, dword [eax]
mov edi, dword [esi + 0x44]
mov dword [esp + 0x14], ecx
test edi, edi
jne 0x100a15cf
lea eax, [esi + 0x40]
add esi, 0x3c
mov esi, dword [esi]
mov ecx, 0x101d4a18
test esi, esi
jne 0x100a058b
jmp 0x100a05d0
mov esi, dword [edi + 0x38]
mov dword [esp + 0x58], eax
mov eax, edi
mov bl, byte [esp + 0x33]
mov dword [esp + 0x3c], ecx
mov ecx, 2
lea edi, [esi - 1]
mov dword [esp + 0xc], esi
mov dword [eax + 0x38], edi
mov eax, dword [esp + 4]
movzx eax, byte [eax + 0x32]
cmp al, 0xb
cmovne ecx, eax
cmp bl, 0xb
movzx eax, bl
cmove eax, ecx
cmp dword [esp + 0x4c], 0
jne 0x100a1c53
movzx eax, al
cmp bl, 5
mov dword [esp + 0x18], 0
je 0x100a0dec
cmp al, 5
je 0x100a1f0a
cmp dword [ebp + 0x18], 0
mov esi, eax
jne 0x100a1c7f
mov eax, dword [edx + 0x6c]
cmp dword [edx + 0x70], eax
jle 0x100a1616
lea ecx, [eax + 1]
mov ebx, dword [ebp + 0xc]
lea eax, [eax + eax*4]
mov dword [edx + 0x6c], ecx
mov ecx, dword [edx + 0x68]
mov dword [ecx + eax*4], 0x20
mov dword [ecx + eax*4 + 4], ebx
mov ebx, dword [ebp + 0x14]
mov dword [ecx + eax*4 + 8], edi
mov dword [ecx + eax*4 + 0xc], ebx
mov dword [ecx + eax*4 + 0x10], 0
mov ecx, esi
mov edi, dword [esp + 0x18]
mov eax, ecx
dec al
cmp al, 3
jae 0x100a1577
mov edx, dword [esp + 4]
mov esi, ecx
movzx eax, word [edx + 0x28]
test ax, ax
js 0x100a1d68
mov ecx, dword [edx + 4]
lea eax, [eax + eax*4]
mov dword [esp + 8], 0x613
push dword [ecx + eax*4]
push dword [edx]
push 0x101ae5f2
mov ebx, dword [esp + 0x1c]
push dword [ebx]
call fcn.1000f4f0
add esp, 0x10
mov edx, dword [esp + 8]
mov ecx, ebx
push 2
push 0xfffffffffffffff9
push eax
push esi
call fcn.100759f0
add esp, 0x10
mov edx, dword [esp]
mov dword [esp + 0x40], 0
mov dword [esp + 0x1c], 0
mov ecx, dword [edx + 0xc]
mov esi, dword [esp + 0xc]
mov eax, dword [ecx + 0x38]
neg esi
add eax, dword [ecx + 0x3c]
jns 0x100a15c1
push esi
call fcn.10078ce0
add esp, 4
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x58]
test edi, edi
jne 0x100a1cb6
mov edx, dword [esp]
xor edi, edi
jmp 0x100a0155
mov edx, ecx
mov ecx, dword [esp + 0x10]
push esi
call fcn.10082ed0
mov edx, dword [esp + 4]
add esp, 4
jmp 0x100a052c
cmp dword [esp + 0x5c], 1
jne 0x100a1d0e
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x13]
test al, al
jne 0x100a1522
mov eax, dword [ecx + 0x2c]
inc eax
mov dword [esp + 0x14], eax
mov dword [ecx + 0x2c], eax
jmp 0x100a0504
cmp dword [esp + 0x5c], 1
jne 0x100a1d39
cmp dword [esp + 0x14], 0
je 0x100a0f52
mov esi, dword [esp + 0x10]
movzx eax, byte [esi + 0x13]
cmp eax, 7
ja 0x100a0f4e
mov edi, dword [esp + 0x14]
mov ecx, eax
inc cl
mov byte [esi + 0x13], cl
mov dword [esi + eax*4 + 0x98], edi
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 8]
jmp 0x100a0434
mov ecx, edx
mov edx, 0x5b
push eax
push esi
push dword [esp + 0x14]
call fcn.1004e590
add esp, 0xc
jmp 0x100a03eb
xor eax, eax
jmp 0x100a0ce3
mov eax, dword [esp + 4]
cmp byte [eax + 0x24], 0
jns 0x100a165d
cmp dword [esp + 0x34], esi
jne 0x100a1dfe
cmp dword [ebp + 0x18], 0
je 0x100a051b
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x14]
movzx eax, word [eax + 0x32]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x38]
and eax, 3
cmp eax, 2
cmove edi, dword [esp + 0xc]
cmp dword [esp + 0x28], 0
mov dword [esp + 0x8c], edi
je 0x100a051b
mov ecx, dword [esp + 0x28]
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x70], 0x34
mov dword [esp + 0x54], 0
add ecx, dword [edx + 0x6c]
inc eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x28], ecx
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x20]
mov edx, dword [eax + edi*4]
call fcn.10071140
mov dword [esp + 0x7c], eax
movzx eax, word [esi + 0x32]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x28]
dec eax
cmp edi, eax
mov eax, dword [esi + 4]
mov esi, 0x35
cmove edx, esi
cmove ecx, dword [esp + 0x48]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 4]
movzx eax, word [eax + edi*2]
mov dword [esp + 0x28], ecx
test byte [edx + 0x24], 0x20
jne 0x100a10ca
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x54]
cwde
mov edi, dword [esp]
add eax, dword [esp + 0x88]
lea esi, [edx + ecx]
mov edx, dword [esp + 0x70]
mov ecx, edi
push esi
push dword [esp + 0x2c]
push eax
call fcn.1004e520
add esp, 0xc
mov ecx, edi
mov edx, eax
push 0xfffffffffffffffe
push dword [esp + 0x80]
call fcn.1000f710
add esp, 8
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x100a10a1
mov ecx, dword [esp]
lea eax, [eax + eax*4]
mov ecx, dword [ecx + 0x68]
mov word [ecx + eax*4 - 0x12], 0x90
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp]
mov esi, dword [esp + 8]
movzx eax, word [eax + 0x32]
inc ecx
mov dword [esp + 0x54], ecx
cmp ecx, eax
mov ecx, dword [esp + 0x44]
jb 0x100a0ff4
jmp 0x100a051b
test ax, ax
js 0x100a1048
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
movzx edx, word [ecx + 0x10]
and edx, 0x20
test ax, ax
je 0x100a1113
movsx edi, ax
mov eax, 1
test edi, edi
cmovle edi, eax
add ecx, 0x24
xor eax, eax
mov esi, edi
movzx edx, dx
shr edx, 5
xor edx, 1
add eax, edx
movzx edx, word [ecx]
add ecx, 0x14
and edx, 0x20
dec esi
jne 0x100a10fa
jmp 0x100a1117
xor edi, edi
xor eax, eax
test dx, dx
je 0x100a1048
sub edi, eax
mov eax, dword [esp + 4]
add di, word [eax + 0x2c]
mov eax, edi
jmp 0x100a1048
mov ecx, dword [esp + 0x10]
mov edx, 2
push esi
call fcn.10082ed0
add esp, 4
mov edx, dword [esp]
mov ecx, dword [edx]
mov eax, dword [edx + 0x6c]
cmp byte [ecx + 0x51], 0
jne 0x100a1e82
mov edi, dword [esp + 0x44]
lea ecx, [eax - 1]
test edi, edi
cmovns ecx, edi
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
jmp 0x100a052c
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x10]
xor eax, eax
push eax
push eax
push 0x7e
call fcn.1009b0e0
mov edx, dword [esp + 0xc]
add esp, 0xc
test eax, eax
jne 0x100a0480
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x20]
jmp 0x100a0d49
mov eax, dword [edx + 0x6c]
mov edi, ecx
cmp dword [edx + 0x70], eax
jle 0x100a170c
lea ecx, [eax + 1]
mov esi, dword [esp + 0x64]
lea eax, [eax + eax*4]
mov dword [edx + 0x6c], ecx
mov ecx, dword [edx + 0x68]
mov edx, dword [esp + 0x38]
mov dword [ecx + eax*4], 0x14
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], esi
xor esi, esi
mov dword [ecx + eax*4 + 0xc], esi
mov dword [ecx + eax*4 + 0x10], esi
cmp dword [esp + 0x34], 0
je 0x100a1e8c
mov esi, dword [esp]
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x100a172a
lea ecx, [eax + 1]
lea eax, [eax + eax*4]
xor edx, edx
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
mov dword [ecx + eax*4], 0xb
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], edi
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov ecx, dword [esi + 0xc]
mov edi, dword [esp + 0x64]
mov eax, dword [ecx + 0x38]
not edi
add eax, dword [ecx + 0x3c]
js 0x100a1ef5
mov eax, dword [esi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov edx, esi
mov dword [ecx + edi*4], eax
mov esi, dword [esp + 4]
jmp 0x100a0181
cmp dword [esi], 0
mov edi, dword [esp + 0x10]
je 0x100a1f40
mov eax, dword [esi + 0x10]
mov ecx, dword [esp]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x100a1f5c
mov edx, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], edx
jle 0x100a1757
lea eax, [edx + 1]
mov dword [esp + 0x60], edx
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 0x68]
lea ecx, [edx + edx*4]
xor edx, edx
mov byte [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 0xd], edx
mov dword [eax + ecx*4 + 5], edx
mov dword [eax + ecx*4 + 1], edx
mov dword [eax + ecx*4 + 9], edx
mov dword [eax + ecx*4 + 0x10], edx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x4c], esi
jmp 0x100a00cd
mov edx, dword [esp]
push edi
call fcn.10078ce0
mov edx, dword [esp + 4]
add esp, 4
jmp 0x100a0550
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x10]
push dword [esp + 0x6c]
push esi
push dword [esp + 0xc]
call fcn.100a24b0
mov edx, dword [esp + 0xc]
add esp, 0xc
mov eax, dword [edx + 0x6c]
cmp dword [edx + 0x70], eax
jle 0x100a1635
lea ecx, [eax + 1]
lea eax, [eax + eax*4]
mov esi, 0
mov edi, 0
mov dword [edx + 0x6c], ecx
mov ecx, dword [edx + 0x68]
mov dword [ecx + eax*4], 0xb
mov dword [ecx + eax*4 + 4], esi
mov esi, dword [ebp + 0x24]
mov dword [ecx + eax*4 + 8], esi
mov esi, dword [esp + 8]
mov dword [ecx + eax*4 + 0xc], edi
mov dword [ecx + eax*4 + 0x10], edi
jmp 0x100a052c
mov eax, dword [edx + 0x6c]
cmp dword [edx + 0x70], eax
jle 0x100a1770
lea ecx, [eax + 1]
lea eax, [eax + eax*4]
mov edi, 0
mov dword [edx + 0x6c], ecx
mov ecx, dword [edx + 0x68]
mov dword [ecx + eax*4], 0xb
mov dword [ecx + eax*4 + 4], edi
mov edi, ecx
mov ecx, dword [esp + 0x84]
mov dword [edi + eax*4 + 8], ecx
xor ecx, ecx
mov dword [edi + eax*4 + 0xc], ecx
mov dword [edi + eax*4 + 0x10], ecx
mov ecx, dword [edx]
mov eax, dword [edx + 0x6c]
cmp byte [ecx + 0x51], 0
mov dword [esp + 0x20], eax
jne 0x100a1f6b
mov edi, dword [esp + 0x80]
lea ecx, [eax - 1]
test edi, edi
cmovns ecx, edi
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edx + 0x68]
mov eax, dword [esp + 0x20]
mov dword [ecx + 8], eax
jmp 0x100a0550
mov ecx, dword [esp + 0x4c]
xor eax, eax
cmp dword [ecx + 8], 0
setne al
lea eax, [eax + eax + 4]
jmp 0x100a0463
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jle 0x100a1793
lea eax, [ecx + 1]
mov dword [esp + 0x80], ecx
lea ecx, [ecx + ecx*4]
mov esi, 0
mov dword [edx + 0x6c], eax
mov eax, dword [edx + 0x68]
mov byte [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 0xd], esi
mov dword [eax + ecx*4 + 5], esi
mov dword [eax + ecx*4 + 1], esi
mov dword [eax + ecx*4 + 9], esi
mov dword [eax + ecx*4 + 0x10], esi
mov ecx, dword [edx]
mov eax, dword [edx + 0x6c]
cmp byte [ecx + 0x51], 0
jne 0x100a1f75
mov esi, dword [esp + 0x60]
lea ecx, [eax - 1]
test esi, esi
cmovns ecx, esi
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x84]
mov esi, dword [esp + 8]
mov dword [esp + 0x48], ecx
jmp 0x100a0267
mov ecx, edx
mov edx, 0x4f
push 0
push eax
push dword [ebp + 0x14]
jmp 0x100a039d
mov esi, dword [esi + 0x14]
jmp 0x100a0959
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x6c]
mov eax, dword [eax + ebx*4]
cmp dword [edx + 0x70], ecx
mov dword [esp + 0xc], eax
jle 0x100a17b7
mov esi, edx
lea edx, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x6c], edx
xor edx, edx
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 8]
mov dword [eax + ecx*4], 0x48
mov dword [eax + ecx*4 + 4], edx
mov edx, eax
mov eax, dword [esp + 0xc]
mov dword [edx + ecx*4 + 8], eax
xor eax, eax
mov dword [edx + ecx*4 + 0xc], eax
xor eax, eax
mov dword [edx + ecx*4 + 0x10], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x10]
not eax
mov dword [ecx + 0x34], eax
mov edx, dword [esi + 0x24]
mov eax, dword [ecx]
test edx, edx
mov dword [esp + 0xc], eax
je 0x100a1fa2
mov ecx, eax
xor eax, eax
push eax
push eax
call fcn.10078d60
add esp, 8
mov edx, eax
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x51], 0
jne 0x100a14dd
push 0x10
push dword [esp + 0x4c]
push edx
push dword [esp + 0x1c]
mov dword [esp + 0x24], edx
call fcn.100755f0
mov edx, dword [esp + 0x24]
add esp, 0x10
mov ecx, dword [esp + 0xc]
test edx, edx
je 0x100a14ea
call fcn.1004bd70
mov eax, dword [esp + 0x10]
mov edx, dword [esp]
mov dword [eax + 0x34], 0
jmp 0x100a02ae
mov ecx, dword [esp + 0x20]
mov edx, dword [esp]
jmp 0x100a05d0
xor eax, eax
mov ecx, edx
mov edx, 0x45
push eax
push esi
push eax
call fcn.1004e590
add esp, 0xc
jmp 0x100a0d25
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0x98]
mov dword [esp + 0x14], eax
jmp 0x100a0504
mov edx, 0x32
push 0
push dword [ebp + 0x24]
push ebx
call fcn.1004e590
add esp, 0xc
jmp 0x100a0845
mov ecx, edx
mov edx, 0x1c
push dword [esp + 0xc]
push dword [esp + 0x4c]
push edi
call fcn.1004e590
mov edx, dword [esp + 0xc]
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x100a04d3
cmp cl, 4
jne 0x100a2033
mov eax, dword [edx + 0x6c]
cmp dword [edx + 0x70], eax
jle 0x100a17d3
lea ecx, [eax + 1]
mov ebx, dword [ebp + 0x24]
lea eax, [eax + eax*4]
xor esi, esi
mov dword [esp + 0x40], 0
mov dword [edx + 0x6c], ecx
mov ecx, dword [edx + 0x68]
mov dword [ecx + eax*4], 0xb
mov dword [ecx + eax*4 + 4], esi
mov dword [ecx + eax*4 + 8], ebx
mov dword [ecx + eax*4 + 0xc], esi
mov dword [ecx + eax*4 + 0x10], esi
jmp 0x100a0e9b
mov eax, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + esi*4], eax
jmp 0x100a0ec1
mov eax, dword [esp + 0x14]
mov cl, byte [eax]
test cl, cl
je 0x100a17fa
lea edx, [eax + 1]
xor eax, eax
movzx ecx, cl
movzx ecx, byte [ecx + 0x10194380]
add ecx, eax
imul eax, ecx, 0x9e3779b1
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x100a15e2
xor edx, edx
div dword [esi + 0x38]
lea eax, [edi + edx*8 + 4]
lea esi, [edi + edx*8]
mov edx, dword [esp]
jmp 0x100a0d7f
xor eax, eax
jmp 0x100a0ccf
mov ecx, edx
mov edx, 0x20
push dword [ebp + 0x14]
push edi
push dword [ebp + 0xc]
call fcn.1004e590
mov edx, dword [esp + 0xc]
add esp, 0xc
jmp 0x100a0e31
mov ecx, edx
mov edx, 0xb
xor eax, eax
push eax
push dword [ebp + 0x24]
push eax
call fcn.1004e590
mov edx, dword [esp + 0xc]
add esp, 0xc
jmp 0x100a052c
mov esi, dword [esp + 8]
jmp 0x100a116d
mov ecx, edx
mov edx, 0x87
push 0
push dword [esp + 0x18]
push dword [esp + 0x74]
call fcn.1004e520
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xc]
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x100a051b
mov ecx, edx
mov edx, 0x35
push dword [ebp + 0x18]
push dword [esp + 0x4c]
push dword [esp + 0x1c]
call fcn.1004e520
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xc]
add esp, 0xc
mov eax, dword [edx + 0x6c]
test eax, eax
jle 0x100a051b
mov ecx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x90
mov ecx, dword [esp + 0x44]
jmp 0x100a051b
mov ecx, edx
mov edx, 0x52
push 0
push 1
push dword [esp + 0x40]
call fcn.1004e590
mov edx, dword [esp + 0xc]
add esp, 0xc
jmp 0x100a0a73
mov ecx, edx
mov edx, 0xb
xor eax, eax
push eax
push eax
push eax
call fcn.1004e590
mov edx, dword [esp + 0xc]
add esp, 0xc
mov dword [esp + 0x44], eax
jmp 0x100a0aac
mov ecx, edx
mov edx, 0x14
push 0
push dword [esp + 0x68]
push dword [esp + 0x40]
call fcn.1004e590
add esp, 0xc
jmp 0x100a11e2
xor eax, eax
mov ecx, esi
mov edx, 0xb
push eax
push edi
push eax
call fcn.1004e590
add esp, 0xc
jmp 0x100a1221
mov edx, dword [esp + 0x54]
mov dword [ecx + eax*4 + 0x10], edx
mov ecx, dword [esp + 0x28]
mov byte [ecx], 0xfd
jmp 0x100a0bf9
xor eax, eax
mov edx, 0xb
push eax
push eax
push eax
call fcn.1004e590
add esp, 0xc
mov ecx, eax
jmp 0x100a12a3
mov ecx, edx
mov edx, 0xb
xor eax, eax
push eax
push dword [esp + 0x88]
push eax
call fcn.1004e590
mov edx, dword [esp + 0xc]
add esp, 0xc
jmp 0x100a1362
mov ecx, edx
mov edx, 0xb
xor eax, eax
push eax
push eax
push eax
call fcn.1004e590
mov edx, dword [esp + 0xc]
add esp, 0xc
mov dword [esp + 0x80], eax
jmp 0x100a13eb
xor eax, eax
mov ecx, edx
mov edx, 0x48
push eax
push dword [esp + 0x10]
push eax
call fcn.1004e590
add esp, 0xc
jmp 0x100a148b
mov ecx, edx
xor eax, eax
mov edx, 0xb
push eax
push dword [ebp + 0x24]
mov dword [esp + 0x48], 0
push eax
call fcn.1004e590
mov edx, dword [esp + 0xc]
add esp, 0xc
jmp 0x100a0e9b
xor eax, eax
jmp 0x100a15fb
inc dword [esp + 0x40]
jmp 0x100a0845
mov eax, dword [ebp + 0x14]
mov esi, dword [esp + 0x10]
lea ecx, [edi + edi*4]
not eax
mov dword [esi + 0x34], eax
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x28]
mov edx, dword [eax + ecx*4 + 4]
mov eax, dword [esp + 0xc]
mov ecx, esi
add eax, edi
push eax
call fcn.10075b30
add esp, 4
mov dword [esi + 0x34], 0
mov esi, dword [esp + 8]
jmp 0x100a0348
test ax, ax
mov dword [esp + 0x50], ebx
js 0x100a1b8a
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov ebx, ecx
movzx ecx, word [ecx + 0x10]
and ecx, 0x20
test ax, ax
je 0x100a1b77
test eax, eax
mov edx, 1
cmovle eax, edx
add ebx, 0x24
xor esi, esi
mov edx, eax
movzx ecx, cx
shr ecx, 5
xor ecx, 1
add esi, ecx
movzx ecx, word [ebx]
add ebx, 0x14
and ecx, 0x20
dec edx
jne 0x100a187c
jmp 0x100a1b7b
mov eax, dword [esp + 0x68]
test byte [eax + 0x21], 2
jne 0x100a1b02
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x10]
not eax
mov dword [ecx + 0x34], eax
cmp dword [edi], 0
jle 0x100a1b9e
mov eax, dword [ebp + 0x14]
mov ecx, 2
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], 0
inc eax
mov dword [esp + 0x1c], eax
mov al, byte [ebp + 0x20]
cmp al, 0xb
movzx eax, al
cmove eax, ecx
lea ecx, [edi + 8]
movzx eax, al
mov dword [esp + 0xc], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xc]
cmp dword [ebp + 0x2c], 0
mov ebx, dword [eax - 4]
je 0x100a1964
mov ecx, dword [ebp + 0x2c]
xor eax, eax
xorps xmm0, xmm0
test ebx, ebx
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x94], 0x100a23e0
mov dword [esp + 0xa8], ecx
je 0x100a1948
lea ecx, [esp + 0x90]
mov edx, ebx
call fcn.10076970
movzx eax, word [esp + 0xa4]
cmp byte [ebp + 0x1c], 0
jne 0x100a195b
and eax, 0xfffd
mov word [esp + 0xa4], ax
test ax, ax
je 0x100a1a5c
cmp byte [esp + 0x24], 0
jne 0x100a197e
mov ecx, dword [esp]
mov edx, dword [esp + 4]
push dword [esp + 0x1c]
call fcn.1007b290
add esp, 4
mov eax, dword [esp + 0x10]
test ebx, ebx
mov edx, dword [eax + 0x38]
mov ecx, edx
lea ecx, [edx - 1]
mov dword [esp + 8], edx
mov dword [esp + 0x24], ecx
mov dword [eax + 0x38], ecx
je 0x100a1a77
mov ecx, dword [esp + 0x68]
xor eax, eax
mov edx, ebx
push eax
push eax
call fcn.10078d60
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0x68]
cmp byte [eax + 0x51], 0
jne 0x100a19ce
push 0x10
push dword [esp + 0x28]
push ebx
push dword [esp + 0x1c]
call fcn.1007a4f0
add esp, 0x10
test ebx, ebx
je 0x100a19dd
mov ecx, dword [esp + 0x68]
mov edx, ebx
call fcn.1004bd70
cmp dword [esp + 0x2c], 4
jne 0x100a1a05
mov ecx, dword [esp]
xor eax, eax
mov edx, 0xb
push eax
push dword [ebp + 0x24]
push eax
call fcn.1004e520
add esp, 0xc
mov dword [esp + 0x2c], 4
jmp 0x100a1a34
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
mov eax, 2
mov edx, 0x113
cmp ebx, 5
cmove ebx, eax
push 3
push 0
mov eax, dword [esp + 0x14]
push dword [eax]
mov dword [esp + 0x38], ebx
push ebx
call fcn.100759f0
add esp, 0x10
mov eax, dword [esp]
neg dword [esp + 8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x100a1a7e
mov eax, dword [esp]
mov ecx, dword [ecx + 0x40]
mov edx, dword [esp + 8]
mov eax, dword [eax + 0x6c]
mov dword [ecx + edx*4], eax
mov al, 1
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
add dword [esp + 0xc], 0x14
inc eax
cmp eax, dword [edi]
mov dword [esp + 0x14], eax
jl 0x100a18f1
jmp 0x100a1ba6
xor ebx, ebx
jmp 0x100a19b1
mov edx, dword [esp]
push dword [esp + 8]
call fcn.10078ce0
add esp, 4
jmp 0x100a1a56
mov dword [esp + 0x50], ebx
mov ebx, edi
mov edi, ecx
xor eax, eax
mov ecx, edx
mov esi, edx
mov edx, 0xb
push eax
push ebx
push eax
call fcn.1004e520
add esp, 0xc
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x101d4a28
cmp byte [edx + 0x51], 0
jne 0x100a1ad5
mov edx, dword [esp + 0x74]
lea ecx, [eax - 1]
mov esi, dword [esp]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [esi + 0x68]
mov edx, dword [esp]
mov ebx, dword [esp + 0x50]
mov dword [ecx + 8], eax
mov ecx, edi
jmp 0x100a0172
cmp dword [esp + 0xc], 0
je 0x100a0831
mov edx, dword [esp + 0xc]
call fcn.10019c40
mov edx, dword [esp]
jmp 0x100a0831
mov dword [esp + 0x24], 0
jmp 0x100a00b7
mov edx, dword [esp]
mov edi, dword [esp + 0x10]
jmp 0x100a097c
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x48]
mov edx, dword [eax]
add ecx, 0x38
call fcn.1004aa50
cmp dword [eax + 8], 0
mov edx, dword [esp]
mov eax, 0
jne 0x100a0ce3
jmp 0x100a0671
mov dword [esp + 0x60], edx
movzx edx, word [esi + 0x10]
and edx, 0x20
test di, di
je 0x100a1bbd
mov ecx, dword [esp + 0x14]
mov ebx, eax
lea esi, [ecx + 0x24]
xor ecx, ecx
movzx edx, dx
shr edx, 5
xor edx, 1
add ecx, edx
movzx edx, word [esi]
add esi, 0x14
and edx, 0x20
dec ebx
jne 0x100a1b5e
jmp 0x100a1bc1
xor eax, eax
xor esi, esi
test cx, cx
je 0x100a1b9a
mov ecx, dword [esp + 4]
sub eax, esi
add ax, word [ecx + 0x2c]
mov edx, dword [esp]
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 8]
jmp 0x100a02fe
mov eax, esi
jmp 0x100a1b8a
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x10]
mov dword [eax + 0x34], 0
jmp 0x100a00b7
xor esi, esi
jmp 0x100a0970
xor eax, eax
xor ecx, ecx
test dx, dx
je 0x100a1bd2
sub eax, ecx
mov ecx, dword [esp + 4]
add ax, word [ecx + 0x2c]
mov ecx, eax
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x60]
jmp 0x100a078d
mov edx, 5
jmp 0x100a0772
mov esi, ebx
mov ebx, dword [esp]
xor eax, eax
mov edx, 0x33
mov ecx, ebx
push eax
push eax
push esi
call fcn.1004e520
add esp, 0xc
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + eax*4 + 4]
mov ecx, dword [esp + 0x10]
push esi
call fcn.10075b30
add esp, 4
mov edx, dword [ebx]
mov eax, dword [ebx + 0x6c]
mov ecx, 0x101d4a28
cmp byte [edx + 0x51], 0
jne 0x100a1c47
mov edx, dword [esp + 0x60]
lea ecx, [eax - 1]
mov esi, dword [esp]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [esi + 0x68]
inc dword [esp + 0x20]
mov dword [ecx + 8], eax
jmp 0x100a0845
mov ecx, dword [esp + 0x4c]
cmp dword [ecx + 0x10], 0
jne 0x100a0dd4
mov ecx, dword [esp + 0x4c]
xor eax, eax
mov dword [esp + 0x18], 0
cmp dword [ecx + 8], 0
setne al
lea eax, [eax + eax + 4]
jmp 0x100a0dec
mov ecx, edx
mov edx, 0x35
push dword [ebp + 0x18]
push edi
push dword [ebp + 0x14]
call fcn.1004e520
mov edx, dword [esp + 0xc]
add esp, 0xc
mov eax, dword [edx + 0x6c]
test eax, eax
jle 0x100a0df8
mov ecx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x90
jmp 0x100a0df8
mov esi, dword [esp]
xor eax, eax
mov edx, 0xb
mov ecx, esi
push eax
push eax
push eax
call fcn.1004e520
add esp, 0xc
mov edx, dword [esi]
mov dword [esp + 0x74], eax
mov eax, dword [esi + 0x6c]
mov ecx, 0x101d4a28
cmp byte [edx + 0x51], 0
jne 0x100a1cf7
mov edx, dword [esp]
mov ecx, dword [esp + 0x18]
mov edx, dword [edx + 0x68]
test ecx, ecx
cmovle ecx, eax
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*4 - 0x14]
mov dword [ecx + 8], eax
mov edx, dword [esp]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x18]
jmp 0x100a0155
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1c]
sub eax, dword [esp + 0x5c]
jge 0x100a1f7f
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x2c]
lea edx, [eax + 1]
add eax, dword [esp + 0x5c]
mov dword [esp + 0x14], edx
mov dword [ecx + 0x2c], eax
jmp 0x100a1f96
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x1c], eax
jge 0x100a1d58
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x14]
mov dword [edx + 0x1c], eax
mov dword [edx + 0x20], esi
mov edx, dword [esp]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 8]
jmp 0x100a0238
mov dword [esp + 8], 0xa13
push dword [edx]
push str._s.rowid
mov ebx, dword [esp + 0x18]
push dword [ebx]
call fcn.1000f4f0
add esp, 0xc
jmp 0x100a0e7c
mov edx, dword [esp]
push esi
call fcn.10078ce0
add esp, 4
jmp 0x100a0aca
mov ecx, dword [esp]
mov dword [esp + 0x1c], edx
mov edx, 0x32
push 0
push dword [esp + 0x68]
push dword [esp + 0x80]
call fcn.1004e520
mov edx, dword [esp + 0x28]
add esp, 0xc
jmp 0x100a0aef
mov eax, dword [esp]
mov eax, dword [eax + 0x6c]
dec eax
jmp 0x100a0b0c
mov eax, 0x101d4a28
jmp 0x100a0b24
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x54]
cmp dl, 0xf4
je 0x100a0bf9
mov edx, dword [esp + 0x28]
push eax
call fcn.1002cc10
add esp, 4
jmp 0x100a0bf9
mov eax, dword [esp + 0x34]
cmp word [eax + 0x32], 0
je 0x100a0f94
xor edi, edi
mov dword [esp + 0x50], ebx
movzx ecx, word [esi + 0x34]
mov eax, 0xffffffff
test ecx, ecx
je 0x100a1e42
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 4]
movzx edx, word [eax + edi*2]
mov eax, dword [esp + 8]
mov esi, dword [eax + 4]
xor eax, eax
cmp word [esi + eax*2], dx
je 0x100a1e42
inc eax
cmp ecx, eax
jne 0x100a1e34
xor eax, eax
dec eax
mov ecx, dword [esp + 0x14]
mov esi, dword [esp]
mov edx, 0x59
cwde
lea ebx, [edi + ecx]
mov ecx, esi
push ebx
push eax
push dword [esp + 0x74]
call fcn.1004e520
mov edx, esi
add esp, 0xc
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x44]
inc edi
movzx eax, word [eax + 0x32]
cmp edi, eax
jb 0x100a1e13
jmp 0x100a0f94
mov ecx, 0x101d4a28
jmp 0x100a116a
cmp dword [ebp + 0x18], 0
je 0x100a1ec2
mov esi, dword [esp]
mov edx, 0x35
mov ecx, esi
push dword [ebp + 0x18]
push edi
push dword [ebp + 0x14]
call fcn.1004e520
add esp, 0xc
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x100a1ec2
mov ecx, dword [esp]
lea eax, [eax + eax*4]
mov ecx, dword [ecx + 0x68]
mov word [ecx + eax*4 - 0x12], 0x90
mov esi, dword [esp]
mov edx, 0x20
mov ecx, esi
push dword [ebp + 0x14]
push edi
push dword [ebp + 0xc]
call fcn.1004e520
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov edx, 2
push dword [esp + 4]
call fcn.100a2440
add esp, 4
jmp 0x100a1221
mov edx, dword [esp]
push edi
call fcn.10078ce0
mov edx, dword [esp + 4]
add esp, 4
jmp 0x100a1241
mov eax, dword [esp + 4]
cmp dword [eax + 8], 0
je 0x100a202b
mov esi, dword [esp]
xor eax, eax
mov edx, 0xb
mov ecx, esi
push eax
push eax
push eax
call fcn.1004e520
mov edx, esi
add esp, 0xc
inc eax
mov dword [esp + 0x18], eax
mov eax, 5
jmp 0x100a0dec
xor ecx, ecx
mov byte [esp + 0x33], 4
mov dword [esp + 0x2c], 0
mov dword [esp + 0x4c], 0
jmp 0x100a00cd
xor ecx, ecx
mov dword [esp + 0x2c], 0
jmp 0x100a12a3
mov ecx, 0x101d4a28
jmp 0x100a138d
mov ecx, 0x101d4a28
jmp 0x100a140f
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x5c]
mov esi, dword [edx + 0x20]
add ecx, esi
mov dword [esp + 0x14], esi
mov dword [edx + 0x20], ecx
mov dword [edx + 0x1c], eax
mov edx, dword [esp]
mov esi, dword [esp + 8]
jmp 0x100a0504
xor edx, edx
jmp 0x100a14b8
xor eax, eax
cmp ecx, dword [esp + 8]
mov edi, dword [esp]
mov edx, 0xa0
sete al
mov ecx, edi
mov dword [esp + 0x44], eax
xor eax, eax
push eax
push eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x58], ebx
mov ebx, eax
push eax
call fcn.1004e520
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 4]
push dword [esp + 0x6c]
push dword [esp + 0x48]
push 5
mov eax, 0
push eax
push esi
push dword [esp + 0x28]
push dword [ebp + 0x10]
push ebx
push dword [esp + 0x78]
call fcn.1009b820
add esp, 0x24
mov eax, 0
mov ecx, edi
mov edx, 0xa1
push eax
push eax
push ebx
mov ebx, dword [esp + 0x5c]
call fcn.1004e520
add esp, 0xc
jmp 0x100a0a2c
inc dword [edx + 0xc]
jmp 0x100a0bf9
mov edx, dword [esp]
jmp 0x100a1f36
cmp cl, 5
jne 0x100a20a3
cmp dword [esp + 0x38], 0
je 0x100a20dc
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 4]
mov eax, dword [ecx + 0x74]
test eax, eax
cmove eax, ecx
xor esi, esi
xor ebx, ebx
mov byte [eax + 0x14], 1
inc esi
push 0xffffffffffffffff
push esi
push 5
push ebx
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [esp + 0x78]
call fcn.1009b820
add esp, 0x24
mov edi, dword [esp]
mov edx, 0x52
mov ecx, edi
push ebx
push esi
push dword [esp + 0x40]
call fcn.1004e520
mov edx, edi
add esp, 0xc
mov dword [esp + 0x40], esi
mov dword [esp + 0x1c], esi
mov edi, dword [esp + 0x18]
jmp 0x100a0ea3
mov eax, esi
cmp al, 6
jne 0x100a20ce
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x10]
push dword [ebp + 0xc]
push 0
push dword [esp + 0xc]
call fcn.100a24b0
add esp, 0xc
mov edx, dword [esp]
mov edi, dword [esp + 0x18]
jmp 0x100a1580
mov edi, dword [esp + 0x18]
mov ecx, 2
jmp 0x100a0e43
mov ecx, dword [esp + 4]
xor eax, eax
mov dword [esp + 0x40], 0
inc eax
mov dword [esp + 0x1c], eax
cmp dword [ecx + 8], 0
je 0x100a211b
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 4]
mov eax, dword [ecx + 0x74]
test eax, eax
cmove eax, ecx
mov byte [eax + 0x14], 1
push 0xffffffffffffffff
push 0
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.1009caa0
add esp, 0x10
mov edx, dword [esp]
jmp 0x100a209a