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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x144
mov eax, dword [0x106499c8]
xor eax, esp
mov dword [esp + 0x140], eax
push ebx
push esi
push edi
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
mov dword [esp + 0xdc], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0xf0], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0xf8], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0xe0], eax
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0xc8], eax
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0xe4], ecx
mov ecx, dword [ecx]
mov eax, ecx
shr eax, 0xb
and eax, 1
mov dword [esp + 0x58], eax
mov ebx, dword [ebp + 0x10]
mov eax, ecx
shr eax, 9
and eax, 1
mov esi, dword [ebp + 0x30]
mov dword [esp + 0xcc], eax
xor eax, 1
mov edi, dword [ebp + 0x14]
mov dword [esp + 0xd8], eax
mov dword [esp + 0x20], edi
xor edi, edi
mov eax, ecx
mov dword [esp + 0xe8], edx
mov edx, dword [edx]
and eax, 1
mov dword [esp + 0xd0], ebx
mov ebx, dword [ebx]
mov dword [esp + 0x14], esi
mov dword [esp + 0x6c], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x3c], ecx
mov dword [esp + 0xb8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0xac], edx
mov dword [esp + 0xc4], edx
mov dword [esp + 0x24], edi
mov dword [esp + 0xb4], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x40], 0xfffffffe
mov dword [esp + 0x80], 0xfffffffe
mov dword [esp + 0x68], 0xfffffffe
mov dword [esp + 0x44], 0xfffffffe
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], 0x7fffffeb
mov dword [esp + 0xc], ebx
movzx eax, byte [ebx]
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x10109416
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x10109416
mov ebx, ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x78], eax
movzx eax, byte [ebx]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x10]
add eax, 0xffffff9c
add eax, dword [esi + 0x3c]
cmp dword [esp + 0x5c], 0
je 0x101094ec
cmp edx, eax
ja 0x1010d402
cmp edx, dword [esp + 0xac]
mov eax, dword [esp + 0x5c]
cmovb edx, dword [esp + 0xac]
mov dword [esp + 0x10], edx
mov edi, dword [esp + 0x10]
mov edx, dword [eax]
mov eax, dword [esp + 0x98]
mov ecx, edi
sub ecx, dword [esp + 0xac]
sub eax, edx
cmp eax, ecx
jl 0x1010d0d1
sub edx, dword [esp + 0xac]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x30]
add edx, edi
mov dword [eax], edx
test ecx, ecx
je 0x101094c3
cmp ecx, dword [esp + 0xc4]
jbe 0x101094db
mov ebx, dword [esp + 0xc4]
mov eax, edi
sub eax, ecx
push eax
push ecx
push ebx
call dword [sym.imp.MSVCR110.dll_memmove]
mov eax, ebx
sub eax, dword [esp + 0x3c]
mov edx, edi
mov edi, dword [esp + 0x30]
add esp, 0xc
add edx, eax
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x10], edx
mov dword [esp + 0xac], edx
jmp 0x101094f5
mov edx, dword [esp + 0xc4]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x10], edx
mov dword [esp + 0xac], edx
jmp 0x101094f5
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov dword [esp + 0xac], edx
jmp 0x101094f5
cmp dword [esi + 0x20], eax
ja 0x1010d402
mov edx, dword [esp + 0x2c]
test edi, edi
je 0x1010963a
test edx, edx
je 0x1010963a
cmp edx, 0x5c
jne 0x10109529
cmp byte [ebx + 1], 0x45
lea eax, [ebx + 1]
jne 0x10109529
mov edx, dword [esp + 0x10]
xor edi, edi
mov ebx, eax
mov dword [esp + 0x24], edi
inc ebx
jmp 0x101093ee
mov edi, dword [esp + 0x8c]
test edi, edi
je 0x10109567
cmp dword [esp + 0x5c], 0
jne 0x1010955c
movzx ecx, byte [edi + 2]
movzx eax, byte [edi + 3]
shl ecx, 8
or ecx, eax
sub ebx, ecx
sub ebx, dword [esi + 0x18]
mov eax, ebx
sar eax, 8
mov byte [edi + 4], al
mov byte [edi + 5], bl
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x8c], 0
test dword [esp + 0x3c], 0x4000
je case.0x10109828.1
mov eax, dword [esp + 0x10]
mov dword [esp + 0x8c], eax
mov word [eax], 0xff76
lea ecx, [eax + 2]
mov eax, ebx
sub eax, dword [esi + 0x18]
sar eax, 8
mov byte [ecx], al
sub bl, byte [esi + 0x18]
lea eax, [ecx + 4]
mov byte [ecx + 1], bl
mov word [ecx + 2], 0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x58], 0
mov esi, 1
mov byte [esp + 0xfc], dl
je 0x101095e9
cmp edx, 0xc0
jb 0x101095e9
mov al, byte [ebx + 1]
inc ebx
and al, 0xc0
cmp al, 0x80
jne 0x101095e9
lea ebx, [ebx]
mov dword [esp + 0xc], ebx
movzx eax, byte [ebx]
inc ebx
mov byte [esp + esi + 0xfc], al
movzx eax, byte [ebx]
and al, 0xc0
inc esi
cmp al, 0x80
je 0x101095d0
mov edi, dword [esp + 0x68]
mov ebx, dword [esp + 0x3c]
cmp dword [esp + 0x58], 0
mov edx, dword [esp + 0x10]
mov dword [esp + 0x30], edx
je 0x1010cfb1
test bl, 1
je 0x1010cfb1
movzx ebx, byte [esp + 0xfc]
cmp ebx, 0xc0
jb 0x1010cf36
test bl, 0x20
jne 0x1010ce89
movzx eax, byte [esp + 0xfd]
and ebx, 0x1f
jmp 0x1010cf2e
mov edi, dword [esp + 0x3c]
and edi, 8
mov dword [esp + 0x48], edi
je 0x10109726
jmp 0x10109650
mov eax, dword [esi + 0xc]
test byte [eax + edx], 1
je 0x1010966e
lea esp, [esp]
inc ebx
mov dword [esp + 0xc], ebx
movzx edx, byte [ebx]
test byte [eax + edx], 1
jne 0x10109660
cmp edx, 0x23
jne 0x10109726
inc ebx
mov dword [esp + 0xc], ebx
mov al, byte [ebx]
mov byte [esp + 0x4f], al
test al, al
je 0x101096bf
mov edx, dword [esi + 0x80]
test edx, edx
je 0x101096c4
mov ecx, dword [esi + 0x1c]
cmp ebx, ecx
jae 0x101096ef
push dword [esp + 0x58]
lea eax, [esi + 0x84]
push eax
push ecx
push edx
push ebx
call fcn.101363c0
mov ebx, dword [esp + 0x20]
add esp, 0x14
test eax, eax
je 0x101096ef
add ebx, dword [esi + 0x84]
mov dword [esp + 0xc], ebx
movzx edx, byte [ebx]
jmp 0x10109650
mov ecx, dword [esi + 0x84]
mov eax, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x101096ef
mov al, byte [esp + 0x4f]
cmp al, byte [esi + 0x88]
jne 0x101096ef
cmp ecx, 1
je 0x101096b5
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x89]
je 0x101096b5
inc ebx
cmp dword [esp + 0x58], 0
mov dword [esp + 0xc], ebx
je 0x10109710
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
jne 0x10109710
inc ebx
mov dword [esp + 0xc], ebx
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
je 0x10109703
mov al, byte [ebx]
mov byte [esp + 0x4f], al
test al, al
jne 0x10109686
movzx edx, al
jmp 0x10109650
cmp edx, 0x2a
je 0x101097bb
cmp edx, 0x2b
je 0x101097bb
cmp edx, 0x3f
je 0x101097bb
cmp edx, 0x7b
jne 0x10109752
lea eax, [ebx + 1]
push eax
call fcn.10105e80
add esp, 4
test eax, eax
jne 0x101097bb
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x78]
xor esi, esi
test ecx, ecx
je 0x101097c4
test eax, eax
jne 0x101097c4
mov eax, dword [esp + 0xb8]
dec dword [esp + 0xb8]
test eax, eax
jg 0x101097c0
cmp dword [esp + 0x5c], esi
jne 0x101097b2
movzx ecx, byte [ecx + 2]
mov eax, dword [esp + 0x8c]
shl ecx, 8
movzx eax, byte [eax + 3]
or ecx, eax
mov eax, dword [esp + 0x14]
sub ebx, ecx
sub ebx, dword [eax + 0x18]
mov ecx, dword [esp + 0x8c]
mov eax, ebx
sar eax, 8
mov byte [ecx + 4], al
mov byte [ecx + 5], bl
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x8c], esi
jmp 0x101097c0
mov esi, 1
mov eax, dword [esp + 0x78]
test dword [esp + 0x3c], 0x4000
je 0x10109814
test esi, esi
jne 0x10109814
test eax, eax
jne 0x10109814
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov word [eax], 0xff76
lea ecx, [eax + 2]
mov dword [esp + 0x8c], eax
mov eax, ebx
sub eax, dword [edi + 0x18]
sar eax, 8
mov byte [ecx], al
mov eax, edi
mov edi, dword [esp + 0x48]
sub bl, byte [eax + 0x18]
mov word [ecx + 2], si
mov byte [ecx + 1], bl
mov ebx, dword [esp + 0xc]
add ecx, 4
mov dword [esp + 0x10], ecx
jmp 0x10109818
mov ecx, dword [esp + 0x10]
cmp edx, 0x7c
ja case.0x10109828.1
movzx eax, byte [edx + 0x1010d460]
jmp dword [eax*4 + 0x1010d42c]
test byte [esp + 0x3c], 2
mov dword [esp + 0x30], 0
je 0x10109877
cmp dword [esp + 0x44], 0xfffffffe
jne 0x10109858
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x80], 0xffffffff
mov edx, dword [esp + 0x10]
inc edx
mov byte [edx - 1], 0x1c
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
inc ebx
jmp 0x101093ee
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
mov byte [edx], 0x1b
mov ebx, dword [esp + 0xc]
inc edx
mov dword [esp + 0x10], edx
inc ebx
jmp 0x101093ee
test byte [esp + 0x3c], 2
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
setne al
add al, 0x19
mov byte [edx], al
mov ebx, dword [esp + 0xc]
inc edx
mov dword [esp + 0x30], 0
mov dword [esp + 0x10], edx
inc ebx
jmp 0x101093ee
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
cmp ecx, 0xfffffffe
mov eax, 0xffffffff
cmove ecx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x3c]
shr eax, 2
and al, 1
or al, 0xc
mov byte [edx], al
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x30], edx
inc edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x10], edx
inc ebx
jmp 0x101093ee
mov eax, dword [esp + 0x14]
test dword [eax + 0x60], 0x2000000
je case.0x10109828.1
mov eax, dword [esp + 0x20]
mov dword [eax], 0x40
jmp 0x1010d40c
mov esi, dword [sym.imp.MSVCR110.dll_strncmp]
push 6
push 0x1046f370
inc ebx
push ebx
call esi
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0xc]
jne 0x10109980
add eax, 7
mov ebx, str._b__w_
mov dword [esp + 0x78], eax
dec ebx
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
inc ebx
jmp 0x101093ee
push 6
inc eax
push str._:_:__
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x101099b5
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov ebx, str._b___w_
add eax, 7
dec ebx
mov dword [esp + 0x78], eax
inc ebx
jmp 0x101093ee
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov al, byte [ebx + 1]
mov dword [esp + 0x30], edi
cmp al, 0x3a
je 0x101099d0
cmp al, 0x2e
je 0x101099d0
cmp al, 0x3d
jne 0x101099ed
lea eax, [esp + 0x88]
push eax
push ebx
call fcn.10108a20
mov ebx, dword [esp + 0x14]
add esp, 8
test eax, eax
jne 0x1010d158
xor ecx, ecx
mov dword [esp + 0x2c], ecx
inc ebx
mov dword [esp + 0xc], ebx
movzx eax, byte [ebx]
mov dword [esp + 0x1c], eax
cmp eax, 0x5c
jne 0x10109a28
inc ebx
cmp byte [ebx], 0x45
je 0x101099f3
push 3
push 0x1048ea88
push ebx
call esi
mov ebx, dword [esp + 0x18]
add esp, 0xc
test eax, eax
jne 0x10109a3e
mov ecx, dword [esp + 0x2c]
add ebx, 3
jmp 0x101099f3
test ecx, ecx
jne 0x10109ae9
cmp eax, 0x5e
jne 0x10109ae9
lea ecx, [eax - 0x5d]
jmp 0x101099ef
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esp + 0x38], ecx
lea ecx, [edi + 4]
xor esi, esi
xorps xmm0, xmm0
mov edi, ecx
mov dword [esp + 0x54], ecx
xor ecx, ecx
mov dword [esp + 0x48], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x40], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x50], ecx
movq qword [esp + 0x104], xmm0
movq qword [esp + 0x10c], xmm0
movq qword [esp + 0x114], xmm0
movq qword [esp + 0x11c], xmm0
test eax, eax
je 0x1010d149
jmp 0x10109aa0
cmp dword [esp + 0x58], 0
je 0x10109c18
cmp eax, 0xc0
jb 0x10109c18
movzx eax, byte [ebx]
mov dword [esp + 0x1c], eax
cmp eax, 0xc0
jb 0x10109c18
test al, 0x20
jne 0x10109b50
movzx eax, byte [ebx + 1]
mov ecx, dword [esp + 0x1c]
inc ebx
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or eax, ecx
jmp 0x10109c10
cmp eax, 0x5d
jne 0x10109a42
mov esi, dword [esp + 0x14]
test dword [esi + 0x60], 0x2000000
je 0x10109a42
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
test ecx, ecx
mov ecx, 0xd
mov eax, 0x9d
cmovne eax, ecx
mov byte [edx], al
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0xc]
inc edx
cmp eax, 0xfffffffe
mov ecx, 0xffffffff
cmove eax, ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x10], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x80], eax
inc ebx
jmp 0x101093ee
movzx ecx, byte [ebx + 1]
and ecx, 0x3f
test al, 0x10
jne 0x10109b77
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add ebx, 2
jmp 0x10109c10
test al, 8
jne 0x10109ba0
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add ebx, 3
jmp 0x10109c10
test al, 4
jne 0x10109bd5
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add ebx, 4
jmp 0x10109c10
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add ebx, 5
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], ebx
mov edx, dword [esp + 0x5c]
test edx, edx
je 0x10109c38
mov ecx, dword [esp + 0x54]
cmp ecx, edi
jbe 0x10109c38
sub ecx, edi
add dword [edx], ecx
mov dword [esp + 0x48], 1
mov dword [esp + 0x54], edi
cmp dword [esp + 0x24], 0
je 0x10109c64
cmp eax, 0x5c
jne 0x1010a256
cmp byte [ebx + 1], 0x45
jne 0x1010a256
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x24], 0
inc ebx
jmp 0x1010a547
cmp eax, 0x5b
jne 0x10109e9f
mov al, byte [ebx + 1]
cmp al, 0x3a
je 0x10109c80
cmp al, 0x2e
je 0x10109c80
cmp al, 0x3d
jne 0x1010a256
lea eax, [esp + 0x88]
push eax
push ebx
call fcn.10108a20
mov ebx, dword [esp + 0x14]
add esp, 8
test eax, eax
je 0x1010a256
mov eax, dword [esp + 0x14]
xor esi, esi
cmp byte [ebx + 1], 0x3a
mov edi, dword [eax + 8]
mov dword [esp + 0x28], esi
jne 0x1010d0f3
add ebx, 2
mov dword [esp + 0xc], ebx
cmp byte [ebx], 0x5e
jne 0x10109cd2
mov esi, 1
inc ebx
mov dword [esp + 0x28], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x88]
sub eax, ebx
push eax
push ebx
call fcn.10108a90
mov ecx, eax
add esp, 8
test ecx, ecx
js 0x1010d0e0
mov eax, dword [esp + 0x3c]
test al, 1
je 0x10109cff
xor edx, edx
cmp ecx, 2
cmovle ecx, edx
test eax, 0x20000000
je 0x10109da3
mov eax, esi
neg eax
sbb eax, eax
and eax, 0xe
add eax, ecx
mov ebx, dword [eax*4 + 0x10643850]
test ebx, ebx
je 0x10109d3a
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
inc eax
mov dword [esp + 0x78], eax
dec ebx
jmp 0x1010a543
mov eax, ecx
sub eax, 8
je 0x10109d53
dec eax
je 0x10109d4c
dec eax
jne 0x10109da3
lea edx, [eax + 0xd]
jmp 0x10109d58
mov edx, 0xc
jmp 0x10109d58
mov edx, 0xb
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x18]
test esi, esi
mov esi, dword [esp + 0x34]
setne cl
add cl, 3
mov byte [eax], cl
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x40]
inc eax
mov dword [esp + 0x54], eax
mov byte [eax], dl
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
mov byte [eax], 0
mov ebx, dword [esp + 0x88]
inc dword [esp + 0x54]
mov edx, 1
mov dword [esp + 0x50], edx
inc ebx
jmp 0x1010a54b
lea ecx, [ecx + ecx*2]
mov eax, dword [ecx*4 + 0x1048d7f8]
mov esi, dword [ecx*4 + 0x1048d800]
movq xmm0, qword [eax + edi]
add eax, edi
movq qword [esp + 0x12c], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x134], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x13c], xmm0
movq xmm0, qword [eax + 0x18]
mov eax, dword [ecx*4 + 0x1048d7fc]
movq qword [esp + 0x144], xmm0
test eax, eax
js 0x10109e26
xor ecx, ecx
lea edx, [eax + edi]
test esi, esi
js 0x10109e14
mov al, byte [edx + ecx]
or byte [esp + ecx + 0x12c], al
inc ecx
cmp ecx, 0x20
jb 0x10109e02
jmp 0x10109e26
mov al, byte [edx + ecx]
not al
and byte [esp + ecx + 0x12c], al
inc ecx
cmp ecx, 0x20
jb 0x10109e14
test esi, esi
jns 0x10109e2c
neg esi
cmp esi, 1
jne 0x10109e3b
and byte [esp + 0x12d], 0xc3
jmp 0x10109e48
cmp esi, 2
jne 0x10109e48
and byte [esp + 0x137], 0x7f
xor ecx, ecx
cmp dword [esp + 0x28], ecx
je 0x10109e70
mov al, byte [esp + ecx + 0x12c]
not al
or byte [esp + ecx + 0x104], al
inc ecx
cmp ecx, 0x20
jb 0x10109e50
jmp 0x10109e84
mov al, byte [esp + ecx + 0x12c]
or byte [esp + ecx + 0x104], al
inc ecx
cmp ecx, 0x20
jb 0x10109e70
mov ebx, dword [esp + 0x88]
mov esi, 2
inc ebx
mov ecx, 1
mov dword [esp + 0x34], esi
jmp 0x1010a53f
cmp eax, 0x5c
jne 0x1010a256
mov ebx, dword [esp + 0x14]
push 1
push dword [esp + 0x40]
lea eax, [esp + 0xc8]
push dword [ebx + 0x40]
push dword [esp + 0x2c]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.10105ef0
mov edx, dword [esp + 0x38]
add esp, 0x18
cmp dword [edx], 0
mov edi, eax
jne 0x1010d0ea
test edi, edi
jne 0x10109ef5
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x1c], edx
jmp 0x1010a25a
cmp edi, 5
jne 0x10109f0c
mov ebx, dword [esp + 0xc]
mov edx, 8
mov dword [esp + 0x1c], edx
jmp 0x1010a25a
cmp edi, 0xc
je 0x1010d10d
cmp edi, 0x1a
jne 0x10109f47
mov ebx, dword [esp + 0xc]
cmp byte [ebx + 1], 0x5c
jne 0x10109f36
cmp byte [ebx + 2], 0x45
jne 0x10109f36
mov ecx, dword [esp + 0x40]
add ebx, 2
jmp 0x1010a543
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x24], 1
jmp 0x1010a543
mov ecx, dword [esp + 0x40]
cmp edi, 0x19
je 0x1010a24d
add dword [esp + 0x34], 2
mov esi, dword [ebx + 8]
inc ecx
lea eax, [edi - 6]
mov dword [esp + 0x40], ecx
cmp eax, 0x1c
ja case.0x10109f74.12
movzx eax, byte [eax + 0x1010d514]
jmp dword [eax*4 + 0x1010d4e0]
mov ebx, dword [edi*4 + 0x106437c4]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x34]
dec ebx
mov dword [esp + 0x78], eax
dec ecx
jmp 0x1010a53f
xor ecx, ecx
jmp 0x10109fa0
mov al, byte [esi + ecx + 0x40]
or byte [esp + ecx + 0x104], al
inc ecx
cmp ecx, 0x20
jb 0x10109fa0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
jmp 0x1010a543
mov dword [esp + 0x38], 1
xor ecx, ecx
lea esp, [esp]
mov al, byte [esi + ecx + 0x40]
not al
or byte [esp + ecx + 0x104], al
inc ecx
cmp ecx, 0x20
jb 0x10109fd0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
jmp 0x1010a543
xor ecx, ecx
jmp 0x1010a000
mov al, byte [esi + ecx + 0xa0]
or byte [esp + ecx + 0x104], al
inc ecx
cmp ecx, 0x20
jb 0x1010a000
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
jmp 0x1010a543
mov dword [esp + 0x38], 1
xor ecx, ecx
nop
mov al, byte [esi + ecx + 0xa0]
not al
or byte [esp + ecx + 0x104], al
inc ecx
cmp ecx, 0x20
jb 0x1010a030
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
jmp 0x1010a543
lea eax, [esp + 0x104]
xor edx, edx
sub esi, eax
lea ecx, [esp + 0x104]
add ecx, edx
inc edx
mov al, byte [ecx + esi]
or byte [ecx], al
cmp edx, 0x20
jb 0x1010a062
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
jmp 0x1010a543
lea eax, [esp + 0x104]
xor edx, edx
mov dword [esp + 0x38], 1
sub esi, eax
lea ebx, [ebx]
lea ecx, [esp + 0x104]
add ecx, edx
inc edx
mov al, byte [ecx + esi]
not al
or byte [ecx], al
cmp edx, 0x20
jb 0x1010a0a0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
jmp 0x1010a543
push 0xffffffffffffffff
push 0x1048f6b8
push ebx
push dword [esp + 0x48]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x118]
push eax
call fcn.10105890
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x4c]
add esp, 0x18
jmp 0x1010a543
push 0x1048f6b8
push ebx
push dword [esp + 0x44]
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x114]
push eax
call fcn.10108fd0
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x48]
add esp, 0x14
jmp 0x1010a543
push 0xffffffffffffffff
push 0x1048f708
push ebx
push dword [esp + 0x48]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x118]
push eax
call fcn.10105890
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x4c]
add esp, 0x18
jmp 0x1010a543
push 0x1048f708
push ebx
push dword [esp + 0x44]
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x114]
push eax
call fcn.10108fd0
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x48]
add esp, 0x14
jmp 0x1010a543
push edx
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x74], 0
call fcn.101066c0
add esp, 0x14
test eax, eax
je 0x1010d0ea
xor eax, eax
cmp edi, 0x10
sete al
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x18]
mov edx, 1
mov dword [esp + 0x50], edx
cmp eax, dword [esp + 0xec]
mov eax, dword [esp + 0x54]
sete cl
add cl, 3
mov byte [eax], cl
mov ecx, dword [esp + 0x54]
movzx eax, byte [esp + 0x28]
inc ecx
mov dword [esp + 0x54], ecx
mov byte [ecx], al
mov ecx, dword [esp + 0x54]
movzx eax, byte [esp + 0x60]
inc ecx
mov dword [esp + 0x54], ecx
mov byte [ecx], al
mov ecx, dword [esp + 0x40]
inc dword [esp + 0x54]
mov ebx, dword [esp + 0xc]
dec ecx
mov dword [esp + 0x40], ecx
jmp 0x1010a54b
test byte [esp + 0x3c], 0x40
mov ebx, dword [esp + 0xc]
jne 0x1010d102
mov esi, dword [esp + 0x34]
movzx edx, byte [ebx]
dec ecx
sub esi, 2
mov dword [esp + 0x40], ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0x1c], edx
jmp 0x1010a25a
mov ebx, dword [esp + 0xc]
jmp 0x1010a543
mov edx, dword [esp + 0x1c]
cmp byte [ebx + 1], 0x5c
jne 0x1010a27b
cmp byte [ebx + 2], 0x45
jne 0x1010a27b
add ebx, 2
mov dword [esp + 0xc], ebx
cmp byte [ebx + 1], 0x5c
mov dword [esp + 0x24], 0
je 0x1010a260
mov ecx, ebx
cmp edx, 0xd
je 0x1010a287
cmp edx, 0xa
jne 0x1010a294
mov edi, dword [esp + 0x14]
or dword [edi + 0x64], 0x800
jmp 0x1010a298
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x1010a4fc
cmp byte [ebx + 1], 0x2d
jne 0x1010a4fc
add ebx, 2
mov dword [esp + 0xc], ebx
cmp byte [ebx], 0x5c
jne 0x1010a30e
lea ebx, [ebx]
cmp byte [ebx + 1], 0x45
jne 0x1010a2d4
add ebx, 2
mov dword [esp + 0xc], ebx
cmp byte [ebx], 0x5c
je 0x1010a2c0
jmp 0x1010a30e
cmp byte [ebx], 0x5c
jne 0x1010a30e
lea esp, [esp]
cmp byte [ebx + 1], 0x51
jne 0x1010a30e
add ebx, 2
mov dword [esp + 0xc], ebx
cmp byte [ebx], 0x5c
jne 0x1010a306
cmp byte [ebx + 1], 0x45
jne 0x1010a306
add ebx, 2
mov dword [esp + 0xc], ebx
cmp byte [ebx], 0x5c
je 0x1010a2e0
jmp 0x1010a30e
mov dword [esp + 0x24], 1
mov al, byte [ebx]
test al, al
je 0x1010a4f2
cmp dword [esp + 0x24], 0
jne 0x1010a327
cmp al, 0x5d
je 0x1010a4f2
cmp dword [esp + 0x58], 0
movzx eax, al
mov dword [esp + 0x60], eax
mov dword [esp + 0x28], eax
je 0x1010a435
cmp eax, 0xc0
jb 0x1010a435
test al, 0x20
jne 0x1010a365
movzx eax, byte [ebx + 1]
mov ecx, dword [esp + 0x60]
inc ebx
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or eax, ecx
jmp 0x1010a429
movzx ecx, byte [ebx + 1]
mov edx, dword [esp + 0x1c]
and ecx, 0x3f
test al, 0x10
jne 0x1010a390
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add ebx, 2
jmp 0x1010a429
test al, 8
jne 0x1010a3b9
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add ebx, 3
jmp 0x1010a429
test al, 4
jne 0x1010a3ee
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add ebx, 4
jmp 0x1010a429
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
add ebx, 5
mov dword [esp + 0x60], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0xc], ebx
cmp dword [esp + 0x24], 0
jne 0x1010a4c7
cmp eax, 0x5c
jne 0x1010a496
mov ebx, dword [esp + 0x20]
push 1
push dword [esp + 0x40]
lea eax, [esp + 0x30]
push dword [edi + 0x40]
push ebx
push eax
lea eax, [esp + 0x20]
push eax
call fcn.10105ef0
add esp, 0x18
cmp dword [ebx], 0
jne 0x1010d0ea
test eax, eax
je 0x1010a488
cmp eax, 5
jne 0x1010d11c
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 3]
jmp 0x1010a4cb
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
jmp 0x1010a4cb
cmp eax, 0x5b
jne 0x1010a4c7
mov al, byte [ebx + 1]
cmp al, 0x3a
je 0x1010a4aa
cmp al, 0x2e
je 0x1010a4aa
cmp al, 0x3d
jne 0x1010a4c7
lea eax, [esp + 0x88]
push eax
push ebx
call fcn.10108a20
mov ebx, dword [esp + 0x14]
add esp, 8
test eax, eax
jne 0x1010d12b
mov ecx, dword [esp + 0x60]
cmp ecx, edx
jb 0x1010d13a
je 0x1010a4f8
mov esi, 2
mov dword [esp + 0x34], esi
cmp ecx, 0xd
je 0x1010a4e8
cmp ecx, 0xa
jne 0x1010a4ef
or dword [edi + 0x64], 0x800
push ecx
jmp 0x1010a51a
mov ebx, ecx
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x24]
cmp esi, 2
jge 0x1010a506
inc esi
mov dword [esp + 0x34], esi
test eax, eax
jne 0x1010a519
cmp esi, 1
jne 0x1010a519
cmp byte [ebx + 1], 0x5d
je 0x1010a6a3
push edx
push edx
push edi
push dword [esp + 0x48]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x118]
push eax
call fcn.10108dc0
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x24]
add esp, 0x18
add ecx, eax
mov dword [esp + 0x40], ecx
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
inc ebx
mov dword [esp + 0xc], ebx
movzx eax, byte [ebx]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x1010a585
mov eax, dword [esp + 0x78]
test eax, eax
je 0x1010d149
lea ebx, [eax + 1]
mov dword [esp + 0xc], ebx
movzx eax, byte [ebx]
mov dword [esp + 0x78], 0
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1010d149
cmp eax, 0x5d
jne 0x10109aa0
cmp dword [esp + 0x24], 0
jne 0x10109aa0
cmp dword [esp + 0x54], edi
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x38]
mov eax, 1
cmova esi, eax
mov eax, dword [esp + 0x44]
cmp eax, 0xfffffffe
mov ebx, 0xffffffff
cmove eax, ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x44], eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x40], eax
test esi, esi
je 0x1010a821
test edi, edi
je 0x1010a5fc
test dword [esp + 0x3c], 0x20000000
je 0x1010a821
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x10]
mov byte [eax], 0
inc dword [esp + 0x54]
test esi, esi
setne al
mov byte [ebx], 0x70
mov byte [ebx + 3], al
test edx, edx
je 0x1010a623
or al, 4
mov byte [ebx + 3], al
test ecx, ecx
jle 0x1010a7f2
or byte [ebx + 3], 2
mov eax, dword [esp + 0x54]
add ebx, 4
sub eax, ebx
push eax
lea eax, [ebx + 0x20]
push ebx
push eax
call dword [sym.imp.MSVCR110.dll_memmove]
add esp, 0xc
test esi, esi
je 0x1010a660
mov ecx, dword [esp + 0x50]
test ecx, ecx
jne 0x1010a660
not byte [esp + ecx + 0x104]
inc ecx
cmp ecx, 0x20
jb 0x1010a653
movq xmm0, qword [esp + 0x104]
movq qword [ebx], xmm0
movq xmm0, qword [esp + 0x10c]
movq qword [ebx + 8], xmm0
movq xmm0, qword [esp + 0x114]
movq qword [ebx + 0x10], xmm0
movq xmm0, qword [esp + 0x11c]
movq qword [ebx + 0x18], xmm0
mov edx, dword [esp + 0x54]
add edx, 0x20
jmp 0x1010a7f6
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x68]
inc ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], edi
test esi, esi
je 0x1010a7bd
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x58]
cmp eax, 0xfffffffe
mov ecx, 0xffffffff
cmove eax, ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x44], eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x90], ecx
test ebx, ebx
je 0x1010a75f
test al, 1
je 0x1010a761
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [esp + 0x1c]
sar eax, 7
movzx ecx, byte [eax + 0x10490fd0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x1010a720
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x104931d0]
movzx eax, byte [eax*8 + 0x1048f953]
test eax, eax
je 0x1010a75b
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
mov word [edx], 0x90f
mov byte [edx + 2], al
mov ebx, dword [esp + 0xc]
add edx, 3
mov dword [esp + 0x10], edx
inc ebx
jmp 0x101093ee
mov eax, dword [esp + 0x3c]
test al, 1
mov ecx, dword [esp + 0x10]
setne al
add al, 0x1f
mov byte [ecx], al
inc ecx
mov dword [esp + 0x10], ecx
test ebx, ebx
je 0x1010a7a0
cmp edx, 0x7f
jbe 0x1010a7a0
push ecx
push edx
call fcn.101366b0
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
add esp, 8
add edx, eax
mov dword [esp + 0x10], edx
inc ebx
jmp 0x101093ee
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
mov byte [ecx], dl
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
inc edx
mov dword [esp + 0x10], edx
inc ebx
jmp 0x101093ee
cmp dword [esp + 0x58], 0
je 0x1010a7e1
cmp edx, 0x7f
jbe 0x1010a7e1
lea eax, [esp + 0xfc]
push eax
push edx
call fcn.101366b0
add esp, 8
mov esi, eax
jmp 0x101095ed
mov byte [esp + 0xfc], dl
mov esi, 1
jmp 0x101095ed
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
mov eax, edx
sub eax, ecx
sar eax, 8
mov byte [ecx + 1], al
mov al, dl
sub al, cl
mov byte [ecx + 2], al
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x10], edx
inc ebx
jmp 0x101093ee
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x1010a833
mov eax, dword [esp + 0x54]
sub eax, dword [esp + 0x18]
add dword [ecx], eax
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
cmp esi, edi
setne al
add al, 0x6e
mov byte [edx], al
test ecx, ecx
jne 0x1010a895
test esi, esi
je 0x1010a85d
lea esp, [esp]
not byte [esp + ecx + 0x104]
inc ecx
cmp ecx, 0x20
jb 0x1010a850
movq xmm0, qword [esp + 0x104]
movq qword [edx + 1], xmm0
movq xmm0, qword [esp + 0x10c]
movq qword [edx + 9], xmm0
movq xmm0, qword [esp + 0x114]
movq qword [edx + 0x11], xmm0
movq xmm0, qword [esp + 0x11c]
movq qword [edx + 0x19], xmm0
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
add edx, 0x21
mov dword [esp + 0x10], edx
inc ebx
jmp 0x101093ee
test esi, esi
je case.0x10109828.1
mov edx, dword [esp + 0x20]
push edx
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x74]
push eax
inc ebx
push ebx
call fcn.10106830
add esp, 0x10
cmp dword [edx], 0
mov ebx, eax
mov dword [esp + 0xc], ebx
jne 0x1010d40c
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x6c]
jmp 0x1010a915
xor ecx, ecx
or eax, 0xffffffff
jmp 0x1010a906
mov ecx, 1
or eax, 0xffffffff
jmp 0x1010a906
xor ecx, ecx
mov eax, 1
mov edx, dword [esp + 0x20]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x84], eax
mov esi, dword [esp + 0x30]
mov dword [esp + 0x18], eax
test esi, esi
je 0x1010d174
test ecx, ecx
jne 0x1010a94f
mov edx, dword [esp + 0x90]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x68], edx
cmp ecx, eax
mov edx, 2
mov dword [esp + 0x48], 0
cmove edx, dword [esp + 0x48]
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x50], 0
test edi, edi
je 0x1010aa42
inc ebx
movzx eax, byte [ebx]
mov ecx, dword [esi + 0xc]
test byte [eax + ecx], 1
je 0x1010a99b
nop
movzx eax, byte [ebx + 1]
inc ebx
test byte [eax + ecx], 1
jne 0x1010a990
cmp byte [ebx], 0x23
jne 0x1010aa3d
mov al, byte [ebx + 1]
inc ebx
mov byte [esp + 0x4f], al
test al, al
je 0x1010a983
mov edx, dword [esi + 0x80]
test edx, edx
je 0x1010a9e3
mov ecx, dword [esi + 0x1c]
cmp ebx, ecx
jae 0x1010aa0e
push dword [esp + 0x58]
lea eax, [esi + 0x84]
push eax
push ecx
push edx
push ebx
call fcn.101363c0
add esp, 0x14
test eax, eax
je 0x1010aa0e
add ebx, dword [esi + 0x84]
jmp 0x1010a983
mov ecx, dword [esi + 0x84]
mov eax, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x1010aa0e
mov al, byte [esp + 0x4f]
cmp al, byte [esi + 0x88]
jne 0x1010aa0e
cmp ecx, 1
je 0x1010a9db
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x89]
je 0x1010a9db
inc ebx
cmp dword [esp + 0x58], 0
je 0x1010aa2a
mov al, byte [ebx]
and al, 0xc0
cmp al, 0x80
jne 0x1010aa2a
mov edi, edi
mov al, byte [ebx + 1]
inc ebx
and al, 0xc0
cmp al, 0x80
je 0x1010aa20
mov al, byte [ebx]
mov byte [esp + 0x4f], al
test al, al
jne 0x1010a9b0
jmp 0x1010a983
dec ebx
mov dword [esp + 0xc], ebx
mov cl, byte [ebx + 1]
cmp cl, 0x2b
jne 0x1010aa61
inc ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x50], 1
mov dword [esp + 0xc], ebx
jmp 0x1010aa83
cmp cl, 0x3f
jne 0x1010aa78
mov ecx, dword [esp + 0xd8]
inc ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], ebx
jmp 0x1010aa83
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
cmp byte [eax], 0x75
jne 0x1010ab21
push 3
push eax
add eax, 3
push eax
call dword [sym.imp.MSVCR110.dll_memmove]
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x68]
mov word [eax], 0x81
add edi, 6
add esp, 0xc
mov byte [eax + 2], 6
mov word [eax + 6], 0x78
mov byte [eax + 8], 6
mov dword [esp + 0x10], edi
mov dword [esp + 0xa4], 9
test ebx, ebx
jne 0x1010ab1b
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x20]
add eax, 2
cmp edx, eax
jb 0x1010ab17
movzx eax, byte [edx - 2]
movzx ecx, byte [edx - 1]
shl eax, 8
or ecx, eax
mov eax, dword [esp + 0x30]
sub eax, dword [esi + 0x14]
inc eax
cmp ecx, eax
jne 0x1010ab17
lea eax, [ecx + 3]
sar eax, 8
mov byte [edx - 2], al
mov eax, dword [esi + 0x20]
add cl, 3
mov byte [eax - 1], cl
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x30]
jmp 0x1010ab25
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0xc]
jmp 0x1010ab25
mov edi, dword [esp + 0x10]
mov dl, byte [eax]
mov byte [esp + 0x4f], dl
cmp dl, 0x1d
je 0x1010b2ca
cmp dl, 0x1e
je 0x1010b2ca
cmp dl, 0x1f
je 0x1010b2ca
cmp dl, 0x20
je 0x1010b2ca
cmp dl, 0x17
jae 0x1010ab69
movzx ecx, dl
mov esi, 0x34
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], ecx
jmp 0x1010b386
cmp dl, 0x6e
je 0x1010b20c
cmp dl, 0x6f
je 0x1010b20c
cmp dl, 0x70
je 0x1010b20c
cmp dl, 0x71
je 0x1010b20c
cmp dl, 0x72
je 0x1010b20c
cmp dl, 0x73
je 0x1010b20c
cmp dl, 0x74
je 0x1010b20c
cmp dl, 0x7d
jb 0x1010b1f4
cmp dl, 0x87
ja 0x1010b1f4
mov ecx, dword [esp + 0x30]
mov eax, edi
mov edi, dword [esp + 0x94]
sub eax, ecx
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], eax
cmp dl, 0x87
jne 0x1010abe6
cmp byte [ecx + 3], 0x91
je 0x1010ac6a
mov ecx, dword [esp + 0x6c]
cmp dl, 0x81
jae 0x1010ac12
test ecx, ecx
jg 0x1010ac6a
mov eax, dword [esp + 0x18]
test eax, eax
js 0x1010ac00
cmp eax, 1
jle 0x1010ac16
mov eax, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x84], eax
jmp 0x1010ac16
mov eax, dword [esp + 0x18]
test ecx, ecx
jne 0x1010ad01
push dword [esp + 0x94]
push esi
push dword [esp + 0x60]
cmp eax, 1
jg 0x1010aca8
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
push 1
push ebx
mov byte [eax], cl
call fcn.10108af0
push dword [esp + 0x3c]
lea esi, [ebx + 1]
push ebx
push esi
call dword [sym.imp.MSVCR110.dll_memmove]
mov edx, dword [esp + 0x38]
inc dword [esp + 0x30]
add esp, 0x20
test edx, edx
jne 0x1010ac8e
mov byte [ebx], 0xa1
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x9c]
or dword [esi + 0x68], eax
mov edi, dword [esp + 0x24]
mov dword [esp + 0x30], 0
inc ebx
jmp 0x101093ee
mov al, byte [esp + 0x1c]
sub al, 0x6e
mov dword [esp + 0x38], ebx
mov byte [ebx], al
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x30], esi
dec edx
jmp 0x1010ae7a
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x3c]
push 4
push esi
mov byte [ebx], 0
call fcn.10108af0
push dword [esp + 0x3c]
lea eax, [esi + 4]
push esi
push eax
call dword [sym.imp.MSVCR110.dll_memmove]
mov al, byte [esp + 0x3c]
mov edx, dword [esp + 0x38]
sub al, 0x6e
mov byte [esi], al
mov byte [esi + 1], 0x83
add esi, 2
add ebx, 4
mov word [esi], 0
mov dword [esp + 0x4c], esi
add esi, 2
add esp, 0x20
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x30], esi
dec edx
jmp 0x1010ae7a
cmp ecx, 1
jle 0x1010ae70
cmp dword [esp + 0x5c], 0
je 0x1010ad5f
lea eax, [ecx - 1]
mov esi, eax
imul dword [esp + 0xa4]
imul esi, dword [esp + 0xa4]
test edx, edx
jg 0x1010d0d1
jl 0x1010ad3a
cmp eax, 0x7fffffff
ja 0x1010d0d1
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x98]
mov ecx, dword [edx]
sub eax, ecx
cmp eax, esi
jl 0x1010d0d1
lea eax, [ecx + esi]
mov ecx, dword [esp + 0x6c]
mov dword [edx], eax
jmp 0x1010ae70
cmp dword [esp + 0xb4], 0
je 0x1010ad80
cmp dword [esp + 0x68], 0
jge 0x1010ad80
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x68], eax
mov dword [esp + 0x48], 1
cmp ecx, 1
jle 0x1010ae70
mov ebx, dword [esp + 0x28]
jmp 0x1010ada4
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov esi, dword [esi + 0x20]
sub esi, dword [eax + 0x10]
mov eax, dword [esp + 0x10]
push ebx
push dword [esp + 0x34]
push eax
call sub.MSVCR110.dll_memcpy
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [edx + 0x3c]
mov eax, dword [edx + 0x10]
sub ecx, esi
add ecx, edi
add eax, 0xffffff9c
add eax, ecx
cmp dword [edx + 0x20], eax
jbe 0x1010ae07
push edx
call fcn.10105e00
mov ecx, dword [esp + 0x24]
add esp, 4
mov dword [ecx], eax
test eax, eax
jne 0x1010d0ea
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x3c]
mov eax, dword [edx + 0x10]
sub ecx, esi
add ecx, edi
add eax, 0xffffff9c
add eax, ecx
cmp dword [edx + 0x20], eax
ja 0x1010add8
mov eax, dword [edx + 0x10]
lea edx, [eax + edi]
add eax, esi
cmp edx, eax
jae 0x1010ae51
mov edi, dword [esp + 0x14]
jmp 0x1010ae20
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
mov eax, dword [edi + 0x20]
add ecx, ebx
sar ecx, 8
mov byte [eax], cl
mov cl, byte [edx + 1]
mov eax, dword [edi + 0x20]
add cl, bl
mov byte [eax + 1], cl
add dword [edi + 0x20], 2
mov eax, dword [edi + 0x10]
add edx, 2
add eax, esi
cmp edx, eax
jb 0x1010ae20
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x6c]
add dword [esp + 0x10], ebx
inc eax
mov edi, esi
mov dword [esp + 0x48], eax
cmp eax, ecx
jl 0x1010ada0
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
test edx, edx
jle 0x1010ae83
sub edx, ecx
mov dword [esp + 0x84], edx
test edx, edx
js 0x1010b0bc
mov esi, dword [esp + 0x5c]
test esi, esi
je 0x1010af1e
test edx, edx
jle 0x1010af1e
mov eax, dword [esp + 0xa4]
add eax, 7
mov ecx, eax
imul ecx, edx
imul edx
sub ecx, 6
test edx, edx
jg 0x1010d0d1
jl 0x1010aec6
cmp eax, 0x7fffffff
ja 0x1010d0d1
mov edx, dword [esi]
mov eax, dword [esp + 0x98]
sub eax, edx
cmp eax, ecx
jl 0x1010d0d1
lea eax, [edx + ecx]
mov dword [esi], eax
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
test edi, edi
jne 0x1010b074
mov esi, dword [esp + 0x10]
cmp dword [esp + 0x50], 0
je 0x1010ac6a
mov eax, dword [esp + 0x64]
movzx edx, byte [eax]
lea eax, [edx - 0x1d]
cmp eax, 0x53
ja case.0x1010af17.33
movzx eax, byte [eax + 0x1010d548]
jmp dword [eax*4 + 0x1010d534]
lea eax, [edx - 1]
mov dword [esp + 0x38], eax
test eax, eax
js 0x1010aede
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
sub cl, 0x6e
mov dword [esp + 0x1c], ecx
lea esp, [esp]
mov esi, dword [ebx + 0x20]
sub esi, dword [ebx + 0x10]
mov byte [edx], cl
inc edx
mov dword [esp + 0x10], edx
test eax, eax
je 0x1010af7a
mov eax, dword [esp + 0x2c]
mov byte [edx], 0x83
inc edx
test eax, eax
jne 0x1010af61
xor ecx, ecx
jmp 0x1010af65
mov ecx, edx
sub ecx, eax
mov eax, ecx
sar eax, 8
mov dword [esp + 0x2c], edx
mov byte [edx], al
mov byte [edx + 1], cl
add edx, 2
mov dword [esp + 0x10], edx
push dword [esp + 0x28]
push dword [esp + 0x34]
push edx
call sub.MSVCR110.dll_memcpy
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x10]
sub ecx, esi
add ecx, edi
add eax, 0xffffff9c
add eax, ecx
add esp, 0xc
cmp dword [ebx + 0x20], eax
jbe 0x1010afcb
nop
push ebx
call fcn.10105e00
mov ecx, dword [esp + 0x24]
add esp, 4
mov dword [ecx], eax
test eax, eax
jne 0x1010d0ea
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x10]
sub ecx, esi
add ecx, edi
add eax, 0xffffff9c
add eax, ecx
cmp dword [ebx + 0x20], eax
ja 0x1010afa0
mov eax, dword [ebx + 0x10]
lea edx, [eax + edi]
add eax, esi
cmp edx, eax
jae 0x1010b03f
mov eax, dword [esp + 0x38]
mov ecx, 1
test eax, eax
mov ebx, 4
mov edi, ecx
cmovne edi, ebx
mov ebx, ecx
mov eax, 4
cmovne ebx, eax
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x14]
add ecx, edi
mov eax, dword [eax + 0x20]
add ecx, dword [esp + 0x28]
add edx, 2
sar ecx, 8
mov byte [eax], cl
mov cl, byte [esp + 0x28]
mov eax, dword [esp + 0x14]
add cl, bl
mov eax, dword [eax + 0x20]
add cl, byte [edx - 1]
mov byte [eax + 1], cl
mov eax, dword [esp + 0x14]
add dword [eax + 0x20], 2
mov eax, dword [eax + 0x10]
add eax, esi
cmp edx, eax
jb 0x1010aff6
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
add edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
dec eax
mov edi, esi
mov dword [esp + 0x10], edx
mov dword [esp + 0x38], eax
jns 0x1010af40
mov ebx, dword [esp + 0xc]
jmp 0x1010aee2
mov edx, dword [esp + 0x10]
mov ecx, edx
sub ecx, edi
inc ecx
sub edx, ecx
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
shl esi, 8
or esi, eax
jne 0x1010b08e
xor edi, edi
jmp 0x1010b090
sub edi, esi
mov esi, dword [esp + 0x10]
mov eax, ecx
mov byte [esi], 0x78
sar eax, 8
mov byte [esi + 1], al
mov byte [esi + 2], cl
add esi, 3
mov dword [esp + 0x10], esi
mov byte [edx + 1], al
mov byte [edx + 2], cl
test edi, edi
jne 0x1010b070
mov ebx, dword [esp + 0xc]
jmp 0x1010aef2
mov edi, dword [esp + 0x10]
add edi, 0xfffffffd
mov esi, edi
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
sub esi, ecx
mov dword [esp + 0x48], esi
mov al, byte [esi]
cmp al, 0x81
je 0x1010b0e2
cmp al, 0x82
jne 0x1010b0ef
mov ebx, dword [esp + 0x50]
test ebx, ebx
je 0x1010b0f3
mov byte [esi], 0x83
jmp 0x1010b103
mov ebx, dword [esp + 0x50]
cmp al, 0x81
je 0x1010b1e3
cmp al, 0x82
je 0x1010b1e3
cmp dword [esp + 0x5c], 0
jne 0x1010b140
lea ebx, [ebx]
push 0
push dword [esp + 0x18]
push dword [esp + 0x60]
push edi
push esi
call fcn.10106e90
add esp, 0x14
test eax, eax
jne 0x1010b15b
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
cmp byte [esi], 0x77
je 0x1010b110
mov esi, dword [esp + 0x48]
test ebx, ebx
je 0x1010b1d6
mov al, byte [esi]
cmp al, 0x87
je 0x1010b164
cmp al, 0x8c
je 0x1010b164
inc al
mov byte [esi], al
mov byte [edi], 0x7b
jmp 0x1010b1b7
mov esi, dword [esp + 0x48]
add byte [esi], 5
jmp 0x1010b140
push dword [esp + 0x94]
mov edi, dword [esp + 0x14]
push dword [esp + 0x18]
mov ebx, edi
push dword [esp + 0x60]
sub ebx, esi
push 3
push esi
mov byte [edi], 0
call fcn.10108af0
push ebx
lea eax, [esi + 3]
push esi
push eax
call dword [sym.imp.MSVCR110.dll_memmove]
add ebx, 3
mov byte [esi], 0x84
mov byte [edi + 3], 0x7b
mov eax, ebx
sar eax, 8
mov byte [edi + 4], al
mov byte [edi + 5], bl
add esp, 0x20
add edi, 6
mov dword [esp + 0x10], edi
mov byte [esi + 1], al
mov byte [esi + 2], bl
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1010b1c2
mov byte [eax], 0x94
cmp dword [esp + 0x6c], 2
mov ebx, dword [esp + 0xc]
jge 0x1010aeee
jmp 0x1010ac6a
mov eax, dword [esp + 0x1c]
add al, 0x79
mov byte [edi], al
jmp 0x1010ac66
mov eax, dword [esp + 0x1c]
add al, 0x79
mov byte [edi], al
mov ebx, dword [esp + 0xc]
jmp 0x1010aeee
cmp dl, 0x9d
je 0x1010ac6a
mov eax, dword [esp + 0x20]
mov dword [eax], 0xb
jmp 0x1010d40c
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x1010b21f
mov edx, eax
mov dword [esp + 0x10], edx
jmp 0x1010ac6e
mov edx, dword [esp + 0x6c]
test edx, edx
jne 0x1010b265
cmp ecx, 0xffffffff
jne 0x1010b246
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
add al, 0x62
mov byte [esi], al
mov ebx, dword [esp + 0xc]
inc esi
mov dword [esp + 0x10], esi
jmp 0x1010aef2
cmp ecx, 1
jne 0x1010b289
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
add al, 0x66
mov byte [esi], al
mov ebx, dword [esp + 0xc]
inc esi
mov dword [esp + 0x10], esi
jmp 0x1010aef2
cmp edx, 1
jne 0x1010b289
cmp ecx, 0xffffffff
jne 0x1010b289
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
add al, 0x64
mov byte [esi], al
mov ebx, dword [esp + 0xc]
inc esi
mov dword [esp + 0x10], esi
jmp 0x1010aef2
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
add al, 0x68
mov byte [esi], al
mov eax, edx
sar eax, 8
mov byte [esi + 1], al
xor eax, eax
cmp ecx, 0xffffffff
cmove ecx, eax
mov eax, ecx
mov byte [esi + 2], dl
sar eax, 8
mov byte [esi + 3], al
mov byte [esi + 4], cl
add esi, 5
mov dword [esp + 0x84], ecx
mov dword [esp + 0x10], esi
mov ebx, dword [esp + 0xc]
jmp 0x1010aef2
movzx eax, dl
sub eax, 0x1e
je 0x1010b2fa
dec eax
je 0x1010b2f3
dec eax
je 0x1010b2e4
mov dword [esp + 0x2c], 0
xor esi, esi
jmp 0x1010b303
mov dword [esp + 0x2c], 0x27
mov esi, 0x27
jmp 0x1010b303
mov esi, 0x1a
jmp 0x1010b2ff
mov esi, 0xd
mov dword [esp + 0x2c], esi
cmp dword [esp + 0x58], 0
je 0x1010b358
mov al, byte [edi - 1]
lea ecx, [edi - 1]
and al, 0xc0
cmp al, 0x80
jne 0x1010b358
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x1010b32a
mov edi, edi
mov al, byte [ecx - 1]
dec ecx
and al, 0xc0
cmp al, 0x80
je 0x1010b320
mov eax, edi
sub eax, ecx
push eax
mov dword [esp + 0x2c], eax
push ecx
lea eax, [esp + 0x12c]
push eax
call sub.MSVCR110.dll_memcpy
mov ecx, dword [esp + 0x34]
mov dl, byte [esp + 0x5b]
add esp, 0xc
or ecx, 0x10000000
mov dword [esp + 0x28], ecx
jmp 0x1010b382
movzx ecx, byte [edi - 1]
mov dword [esp + 0x28], ecx
cmp dl, 0x1e
ja 0x1010b382
cmp dword [esp + 0x6c], 1
jle 0x1010b382
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], ecx
mov eax, dword [eax + 0x68]
or eax, dword [esp + 0xa0]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
cmp dl, 0x10
je 0x1010b39d
cmp dl, 0xf
je 0x1010b39d
mov dword [esp + 0x34], 0xffffffff
or edx, 0xffffffff
jmp 0x1010b3a9
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
mov dword [esp + 0x34], eax
mov eax, edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x38], edx
test edi, edi
je 0x1010ac6a
add dword [esp + 0x1c], esi
mov esi, dword [esp + 0x6c]
test esi, esi
jne 0x1010b447
mov eax, dword [esp + 0x1c]
mov ebx, edi
cmp ebx, 0xffffffff
jne 0x1010b426
add al, 0x21
mov ebx, dword [esp + 0x30]
lea esi, [ebx + 1]
mov byte [ebx], al
mov ebx, dword [esp + 0x34]
cmp dword [esp + 0x58], 0
je 0x1010b5be
test ecx, 0x10000000
je 0x1010b5be
and ecx, 7
push ecx
lea eax, [esp + 0x128]
push eax
push esi
mov dword [esp + 0x34], ecx
call sub.MSVCR110.dll_memcpy
mov edx, dword [esp + 0x44]
add esp, 0xc
add esi, dword [esp + 0x28]
jmp 0x1010b5c1
cmp ebx, 1
jne 0x1010b42f
add al, 0x25
jmp 0x1010b3dc
mov esi, dword [esp + 0x30]
add al, 0x27
mov byte [esi], al
mov eax, ebx
sar eax, 8
mov byte [esi + 1], al
mov byte [esi + 2], bl
add esi, 3
jmp 0x1010b3e5
cmp esi, 1
jne 0x1010b48b
cmp edi, 0xffffffff
jne 0x1010b459
mov eax, dword [esp + 0x1c]
add al, 0x23
jmp 0x1010b3dc
mov dword [esp + 0x10], eax
cmp edi, 1
je 0x1010ac6a
mov ebx, dword [esp + 0x1c]
add bl, 0x27
mov byte [eax], bl
mov ebx, dword [esp + 0x18]
lea esi, [eax + 1]
lea eax, [ebx - 1]
sar eax, 8
dec bl
mov byte [esi], al
mov byte [esi + 1], bl
add esi, 2
jmp 0x1010b3e5
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
add al, 0x29
mov byte [ebx], al
lea esi, [ebx + 1]
mov ebx, dword [esp + 0x6c]
mov eax, ebx
sar eax, 8
mov byte [esi], al
mov eax, dword [esp + 0x18]
mov byte [esi + 1], bl
add esi, 2
mov dword [esp + 0x10], esi
test eax, eax
jns 0x1010b524
cmp dword [esp + 0x58], 0
je 0x1010b503
test ecx, 0x10000000
je 0x1010b503
mov ebx, dword [esp + 0x10]
mov esi, ecx
and esi, 7
push esi
lea eax, [esp + 0x128]
push eax
push ebx
call sub.MSVCR110.dll_memcpy
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
add esp, 0xc
add ebx, esi
mov dword [esp + 0x10], ebx
mov esi, ebx
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x34]
add al, 0x21
mov byte [esi], al
inc esi
jmp 0x1010b3e9
mov byte [esi], cl
inc esi
test edx, edx
js 0x1010b4f1
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
mov byte [esi], dl
mov byte [esi + 1], bl
add esi, 2
add al, 0x21
mov byte [esi], al
inc esi
jmp 0x1010b3e9
cmp eax, ebx
je 0x1010b3e5
cmp dword [esp + 0x58], 0
je 0x1010b56c
test ecx, 0x10000000
je 0x1010b56c
mov ebx, dword [esp + 0x10]
mov esi, ecx
and esi, 7
push esi
lea eax, [esp + 0x128]
push eax
push ebx
call sub.MSVCR110.dll_memcpy
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x24]
add esp, 0xc
add ebx, esi
mov dword [esp + 0x10], ebx
mov esi, ebx
jmp 0x1010b56f
mov byte [esi], cl
inc esi
mov ebx, dword [esp + 0x34]
test edx, edx
js 0x1010b57f
mov byte [esi], dl
mov byte [esi + 1], bl
add esi, 2
sub eax, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x84], eax
cmp eax, 1
mov eax, dword [esp + 0x1c]
jne 0x1010b5a1
add al, 0x25
mov byte [esi], al
inc esi
jmp 0x1010b3e9
add al, 0x27
mov byte [esi], al
mov eax, dword [esp + 0x18]
sar eax, 8
mov byte [esi + 1], al
mov eax, dword [esp + 0x18]
mov byte [esi + 2], al
add esi, 3
jmp 0x1010b3e9
mov byte [esi], cl
inc esi
mov dword [esp + 0x10], esi
test edx, edx
js 0x1010b2c1
mov byte [esi], dl
mov byte [esi + 1], bl
mov ebx, dword [esp + 0xc]
add esi, 2
mov dword [esp + 0x10], esi
jmp 0x1010aef2
mov eax, dword [esp + 0x64]
mov al, byte [eax + 3]
cmp al, 0x10
je 0x1010b602
cmp al, 0xf
je 0x1010b602
movzx eax, byte [edx + 0x1048f610]
xor ecx, ecx
add eax, ecx
add dword [esp + 0x64], eax
jmp case.0x1010af17.33
movzx eax, byte [edx + 0x1048f610]
mov ecx, 2
add eax, ecx
add dword [esp + 0x64], eax
jmp case.0x1010af17.33
movzx eax, byte [edx + 0x1048f610]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x58]
add edx, eax
mov dword [esp + 0x64], edx
test ecx, ecx
je 0x1010b669
mov al, byte [edx - 1]
cmp al, 0xc0
jb 0x1010b669
movzx eax, al
and eax, 0x3f
movzx eax, byte [eax + 0x1048ecd0]
add dword [esp + 0x64], eax
jmp 0x1010b669
add dword [esp + 0x64], 0x21
jmp case.0x1010af17.33
mov edx, dword [esp + 0x64]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x64]
mov eax, esi
sub eax, edx
mov dword [esp + 0x48], eax
test eax, eax
jle 0x1010ac6a
movzx eax, byte [edx]
cmp eax, 0x76
jae 0x1010b696
mov al, byte [eax + 0x1048e9e8]
test al, al
je 0x1010b696
mov byte [edx], al
jmp 0x1010ac66
push dword [esp + 0x94]
mov byte [esi], 0
mov esi, dword [esp + 0x18]
push esi
push ecx
push 3
push dword [esp + 0x74]
call fcn.10108af0
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0x78]
push ebx
push eax
add eax, 3
push eax
call dword [sym.imp.MSVCR110.dll_memmove]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x30]
add ebx, 3
mov byte [eax], 0x81
mov byte [edx + 3], 0x78
mov ecx, ebx
mov byte [edx + 5], bl
sar ecx, 8
mov byte [edx + 4], cl
mov eax, dword [esp + 0x84]
add esp, 0x20
mov byte [eax + 1], cl
mov eax, dword [esp + 0x64]
add edx, 6
mov byte [eax + 2], bl
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x10], edx
jmp 0x1010ac72
inc ebx
mov dword [esp + 0xc], ebx
mov dl, byte [ebx]
cmp dl, 0x3f
jne 0x1010b75d
cmp byte [ebx + 1], 0x23
jne 0x1010b75d
add ebx, 2
mov dword [esp + 0xc], ebx
mov al, byte [ebx]
test al, al
je 0x1010b737
cmp al, 0x29
je 0x1010b746
inc ebx
mov dword [esp + 0xc], ebx
mov al, byte [ebx]
test al, al
jne 0x1010b728
mov eax, dword [esp + 0x20]
mov dword [eax], 0x12
jmp 0x1010d40c
cmp byte [ebx], 0
je 0x1010b737
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
inc ebx
jmp 0x101093ee
cmp dl, 0x2a
jne 0x1010b981
mov al, byte [ebx + 1]
lea esi, [ebx + 1]
mov dword [esp + 0x48], esi
cmp al, 0x3a
je 0x1010b788
movzx ecx, al
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
test byte [ecx + eax], 2
je 0x1010b981
mov eax, dword [esp + 0x14]
mov ebx, esi
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xc], ebx
movzx eax, byte [ebx]
xor edi, edi
test byte [eax + ecx], 2
mov edx, 0x1048d6d0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x38], edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x30], edi
je 0x1010b7ce
lea esp, [esp]
inc ebx
mov dword [esp + 0xc], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 2
jne 0x1010b7c0
mov ecx, dword [esp + 0x48]
mov eax, ebx
sub eax, ecx
cmp byte [ebx], 0x3a
mov dword [esp + 0x28], eax
jne 0x1010b816
inc ebx
mov dword [esp + 0xc], ebx
mov al, byte [ebx]
mov edi, ebx
mov dword [esp + 0x18], ebx
test al, al
je 0x1010b7ff
cmp al, 0x29
je 0x1010b7ff
inc ebx
mov dword [esp + 0xc], ebx
mov al, byte [ebx]
test al, al
jne 0x1010b7f0
mov eax, ebx
sub eax, edi
mov dword [esp + 0x2c], eax
cmp eax, 0xff
ja 0x1010d17f
mov eax, dword [esp + 0x28]
cmp byte [ebx], 0x29
jne 0x1010d1c7
xor edi, edi
mov esi, 0x1048d700
cmp eax, dword [esi]
jne 0x1010b842
push eax
push edx
push ecx
call dword [sym.imp.MSVCR110.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x1010b85f
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
inc edx
add edx, dword [esi]
add esi, 0xc
inc edi
mov dword [esp + 0x38], edx
cmp esi, str._b__w_
jge 0x1010d1b4
mov eax, dword [esp + 0x28]
jmp 0x1010b826
lea eax, [edi + edi*2]
mov ecx, dword [eax*4 + 0x1048d704]
cmp ecx, 0x9e
jne 0x1010b8d8
cmp dword [esp + 0x2c], 0
jne 0x1010d18e
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x24]
mov dword [edx + 0x6c], 1
test ecx, ecx
je 0x1010b8b0
mov ebx, dword [esp + 0x10]
mov byte [ebx], 0xa0
movzx eax, byte [ecx + 5]
mov byte [ebx + 1], al
movzx eax, byte [ecx + 4]
mov byte [ebx + 2], al
mov ecx, dword [ecx]
add ebx, 3
test ecx, ecx
jne 0x1010b892
mov dword [esp + 0x10], ebx
cmp dword [edx + 0x5c], 0
mov edx, dword [esp + 0x10]
setg al
add al, 0x9e
mov byte [edx], al
inc edx
cmp dword [esp + 0x44], 0xfffffffe
movzx esi, al
mov dword [esp + 0x10], edx
jne 0x1010b939
mov dword [esp + 0x44], 0xffffffff
jmp 0x1010b939
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jne 0x1010b8f5
test ecx, ecx
js 0x1010d1a1
mov edx, dword [esp + 0x10]
mov al, cl
mov byte [edx], al
movzx esi, al
jmp 0x1010b934
cmp dword [eax*4 + 0x1048d708], 0
jl 0x1010d18e
mov ecx, dword [esp + 0x10]
mov al, byte [eax*4 + 0x1048d708]
mov byte [ecx], al
push ebx
push dword [esp + 0x1c]
mov byte [ecx + 1], bl
add ecx, 2
push ecx
movzx esi, al
mov dword [esp + 0x1c], ecx
call sub.MSVCR110.dll_memcpy
mov edx, dword [esp + 0x1c]
add esp, 0xc
add edx, ebx
mov byte [edx], 0
inc edx
mov dword [esp + 0x10], edx
add esi, 0xffffff6a
cmp esi, 5
ja case.default.0x1010b948
jmp dword [esi*4 + 0x1010d59c]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
or dword [esi + 0x64], 0x1000
mov edi, dword [esp + 0x24]
inc ebx
jmp 0x101093ee
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x24]
mov dword [esi + 0x70], 1
inc ebx
jmp 0x101093ee
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esi + 0x20]
sub eax, dword [esi + 0x10]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0x85
mov dword [esp + 0x94], eax
mov dword [esp + 0x34], 0
cmp dl, 0x3f
jne 0x1010c1ec
inc ebx
mov dword [esp + 0xc], ebx
mov dl, byte [ebx]
movzx eax, dl
add eax, 0xffffffdf
cmp eax, 0x5b
ja case.0x1010b9d8.34
movzx eax, byte [eax + 0x1010d5ec]
jmp dword [eax*4 + 0x1010d5b4]
mov dword [esp + 0x34], 1
mov ecx, 0x83
inc ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], ebx
jmp 0x1010c561
mov edx, ebx
mov ecx, 0x87
mov dword [esp + 0x88], edx
cmp byte [ebx + 1], 0x3f
mov dword [esp + 0x1c], ecx
jne 0x1010ba47
cmp byte [ebx + 2], 0x43
jne 0x1010ba47
mov al, byte [ebx + 3]
mov ecx, 3
cmp al, 0x30
jb 0x1010ba31
cmp al, 0x39
ja 0x1010ba31
mov al, byte [ecx + ebx + 1]
inc ecx
cmp al, 0x30
jae 0x1010ba24
cmp byte [ecx + ebx], 0x29
jne 0x1010ba43
lea edx, [ecx + 1]
add edx, ebx
mov dword [esp + 0x88], edx
mov ecx, dword [esp + 0x1c]
cmp byte [edx + 1], 0x3f
jne 0x1010ba73
mov al, byte [edx + 2]
cmp al, 0x3d
je 0x1010ba67
cmp al, 0x21
je 0x1010ba67
cmp al, 0x3c
jne 0x1010ba73
mov al, byte [edx + 3]
cmp al, 0x3d
je 0x1010ba67
cmp al, 0x21
jne 0x1010ba73
mov dword [esi + 0x7c], 1
jmp 0x1010c561
mov eax, dword [esp + 0x10]
or esi, 0xffffffff
mov byte [eax + 3], 0x8d
mov ebx, dword [esp + 0xc]
inc ebx
mov eax, 3
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], ebx
mov al, byte [ebx]
xor ecx, ecx
or edi, esi
xor edx, edx
mov dword [esp + 0x28], ecx
cmp al, 0x52
jne 0x1010babf
cmp byte [ebx + 1], 0x26
jne 0x1010babf
mov eax, dword [esp + 0x10]
add ebx, 2
mov dword [esp + 0xc], ebx
mov byte [eax + 3], 0x8f
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x38], esi
jmp 0x1010bad4
cmp al, 0x3c
jne 0x1010bb85
mov dword [esp + 0x38], 0x3e
inc ebx
mov dword [esp + 0xc], ebx
mov al, byte [ebx]
cmp al, 0x30
jb 0x1010bae2
cmp al, 0x39
jbe 0x1010d1d6
mov ecx, dword [esp + 0x14]
movzx eax, al
mov ecx, dword [ecx + 0xc]
test byte [eax + ecx], 0x10
je 0x1010d217
mov dword [esp + 0x28], ebx
inc ebx
mov dword [esp + 0xc], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 0x10
je 0x1010bb16
inc ebx
mov dword [esp + 0xc], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 0x10
jne 0x1010bb08
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x5c]
mov edi, ebx
sub edi, ecx
test eax, eax
je 0x1010bb29
add dword [eax], 2
cmp dword [esp + 0x38], edx
jle 0x1010bb40
mov al, byte [ebx]
inc ebx
mov dword [esp + 0xc], ebx
cmp al, byte [esp + 0x38]
jne 0x1010d207
mov al, byte [ebx]
inc ebx
mov dword [esp + 0xc], ebx
cmp al, 0x29
jne 0x1010d207
cmp dword [esp + 0x5c], 0
jne 0x1010c559
test esi, esi
js 0x1010bc36
test edx, edx
jle 0x1010d1e5
test esi, esi
je 0x1010bbf9
cmp esi, 0x2d
mov esi, dword [esp + 0x14]
jne 0x1010bbf4
mov eax, dword [esi + 0x40]
sub eax, edx
lea edx, [eax + 1]
jmp 0x1010bbfd
cmp al, 0x27
jne 0x1010bb96
mov dword [esp + 0x38], 0x27
jmp 0x1010bacf
mov dword [esp + 0x38], ecx
cmp al, 0x2d
je 0x1010bbb6
cmp al, 0x2b
je 0x1010bbb6
cmp al, 0x30
jb 0x1010bae2
cmp al, 0x39
ja 0x1010bad4
xor esi, esi
jmp 0x1010bbc6
movzx esi, al
inc ebx
mov dword [esp + 0xc], ebx
test esi, esi
js 0x1010bad4
mov al, byte [ebx]
cmp al, 0x30
jb 0x1010bb40
cmp al, 0x39
ja 0x1010bb40
lea edx, [edx + edx*4]
movzx eax, al
inc ebx
lea edx, [edx - 0x18]
mov dword [esp + 0xc], ebx
lea edx, [eax + edx*2]
mov al, byte [ebx]
cmp al, 0x30
jae 0x1010bbd0
jmp 0x1010bb40
add edx, dword [esi + 0x40]
jmp 0x1010bbfd
mov esi, dword [esp + 0x14]
test edx, edx
jle 0x1010d1f8
cmp edx, dword [esi + 0x44]
jg 0x1010d1f8
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov eax, edx
sar eax, 8
mov byte [edi + 4], al
mov byte [edi + 5], dl
mov ebx, dword [esp + 0xc]
cmp edx, dword [esi + 0x4c]
jle 0x1010c565
mov dword [esi + 0x4c], edx
jmp 0x1010c565
mov eax, dword [esp + 0x14]
xor esi, esi
mov edx, dword [eax + 0x2c]
mov dword [esp + 0x74], edx
cmp dword [eax + 0x30], esi
jle 0x1010bc7b
push edi
lea eax, [edx + 2]
push eax
push ecx
call dword [sym.imp.MSVCR110.dll_strncmp]
mov edx, dword [esp + 0x80]
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x14]
je 0x1010bc77
add edx, dword [eax + 0x34]
mov ecx, dword [esp + 0x28]
inc esi
mov dword [esp + 0x74], edx
cmp esi, dword [eax + 0x30]
jl 0x1010bc48
mov ebx, dword [esp + 0xc]
mov ecx, dword [eax + 0x30]
cmp esi, ecx
jge 0x1010bd55
movzx edx, byte [edx]
mov eax, dword [esp + 0x74]
shl edx, 8
movzx eax, byte [eax + 1]
or edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x9c], esi
inc esi
mov ebx, 1
mov dword [esp + 0x48], edx
cmp edx, dword [eax + 0x4c]
jle 0x1010bcb3
mov dword [eax + 0x4c], edx
cmp esi, ecx
jge 0x1010bd35
mov ecx, dword [esp + 0x74]
nop
add ecx, dword [eax + 0x34]
push edi
mov dword [esp + 0x78], ecx
lea eax, [ecx + 2]
push eax
push dword [esp + 0x30]
call dword [sym.imp.MSVCR110.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x1010bcf2
mov ecx, dword [esp + 0x74]
cmp byte [ecx + edi + 2], al
jne 0x1010bcf2
mov eax, dword [esp + 0x14]
inc esi
inc ebx
cmp esi, dword [eax + 0x30]
jl 0x1010bcc0
cmp ebx, 1
jle 0x1010bd31
mov ecx, dword [esp + 0x9c]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, ecx
sar eax, 8
mov byte [edi + 4], al
mov eax, ebx
sar eax, 8
inc byte [edi + 3]
mov byte [edi + 5], cl
mov ecx, dword [esp + 0x1c]
mov byte [edi + 6], al
mov byte [edi + 7], bl
mov ebx, dword [esp + 0xc]
mov edx, 5
jmp 0x1010c569
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, edx
sar eax, 8
mov byte [edi + 4], al
mov byte [edi + 5], dl
mov ebx, dword [esp + 0xc]
jmp 0x1010c565
cmp dword [esp + 0x38], 0
jne 0x1010d1f8
mov eax, dword [esp + 0x28]
cmp byte [eax], 0x52
jne 0x1010bdc7
xor ecx, ecx
lea edx, [ecx + 1]
cmp edi, edx
jle 0x1010bd9e
mov al, byte [edx + eax]
cmp al, 0x30
jb 0x1010d1f8
cmp al, 0x39
ja 0x1010d1f8
lea ecx, [ecx + ecx*4]
movzx eax, al
lea ecx, [ecx - 0x18]
inc edx
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x28]
cmp edx, edi
jl 0x1010bd72
test ecx, ecx
jne 0x1010bda3
mov ecx, 0xffff
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, ecx
sar eax, 8
mov byte [edi + 5], cl
mov ecx, dword [esp + 0x1c]
mov byte [edi + 3], 0x8f
mov byte [edi + 4], al
mov ebx, dword [esp + 0xc]
jmp 0x1010c565
cmp edi, 6
jne 0x1010d1f8
push edi
push str.DEFINE
push eax
call dword [sym.imp.MSVCR110.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x1010d1f4
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov byte [edi + 3], 0x91
mov ebx, dword [esp + 0xc]
lea edx, [eax + 1]
jmp 0x1010c569
inc dword [esi + 0x5c]
mov ecx, 0x7d
inc ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], ebx
jmp 0x1010c561
inc ebx
mov dword [esp + 0xc], ebx
cmp byte [ebx], 0x29
jne 0x1010be69
mov al, byte [ebx + 1]
cmp al, 0x2a
je 0x1010be69
cmp al, 0x2b
je 0x1010be69
cmp al, 0x3f
je 0x1010be69
cmp al, 0x7b
jne 0x1010be47
lea eax, [ebx + 2]
push eax
call fcn.10105e80
add esp, 4
test eax, eax
jne 0x1010be69
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov byte [edx], 0x9d
mov ebx, dword [esp + 0xc]
inc edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], 0
inc ebx
jmp 0x101093ee
inc dword [esi + 0x5c]
mov ecx, 0x7e
mov dword [esp + 0x1c], ecx
jmp 0x1010c561
mov cl, byte [ebx + 1]
mov al, cl
cmp al, 0x21
je 0x1010bfb4
cmp al, 0x3d
je 0x1010bf9c
mov eax, dword [esi + 0xc]
movzx ecx, cl
test byte [ecx + eax], 0x10
je 0x1010d226
cmp dl, 0x3c
mov eax, 0x27
mov ecx, 0x3e
cmove eax, ecx
inc ebx
mov dword [esp + 0x9c], eax
mov dword [esp + 0xc], ebx
mov al, byte [ebx]
mov esi, ebx
mov dword [esp + 0x48], esi
cmp al, 0x30
jb 0x1010becf
cmp al, 0x39
jbe 0x1010d1d6
mov edi, dword [esp + 0x14]
movzx eax, al
mov ecx, dword [edi + 0xc]
test byte [eax + ecx], 0x10
je 0x1010beee
nop
inc ebx
mov dword [esp + 0xc], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 0x10
jne 0x1010bee0
mov edx, ebx
sub edx, esi
cmp dword [esp + 0x5c], 0
mov dword [esp + 0x38], edx
je 0x1010c18e
mov eax, dword [edi + 0x40]
inc eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x9c]
cmp byte [ebx], al
jne 0x1010d2ab
mov ecx, dword [edi + 0x30]
cmp ecx, 0x2710
jge 0x1010d29c
lea eax, [edx + 3]
cmp eax, dword [edi + 0x34]
jle 0x1010bf3b
mov dword [edi + 0x34], eax
cmp edx, 0x20
jg 0x1010d254
mov esi, dword [edi + 0x28]
xor edi, edi
test ecx, ecx
jle 0x1010c0ec
jmp 0x1010bf50
cmp edx, dword [esi + 4]
jne 0x1010c0c6
push edx
push dword [esi]
push dword [esp + 0x50]
call dword [sym.imp.MSVCR110.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x1010c0c6
mov eax, dword [esp + 0x2c]
cmp dword [esi + 8], eax
je 0x1010c0e8
test dword [esp + 0x3c], 0x80000
je 0x1010d263
mov eax, dword [esp + 0x14]
mov dword [eax + 0x78], 1
jmp 0x1010c0d7
inc dword [esi + 0x5c]
mov ecx, 0x7f
add ebx, 2
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], ebx
jmp 0x1010c561
inc dword [esi + 0x5c]
mov ecx, 0x80
add ebx, 2
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], ebx
jmp 0x1010c561
mov ecx, 0x81
inc ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], ebx
jmp 0x1010c561
mov edx, dword [esp + 0x10]
mov eax, edx
mov byte [edx], 0x76
mov ebx, dword [esp + 0xc]
inc ebx
mov dword [esp + 0x8c], eax
mov dword [esp + 0xc], ebx
mov al, byte [ebx]
xor ecx, ecx
mov dword [esp + 0xb8], 1
cmp al, 0x30
jb 0x1010c02b
jmp 0x1010c010
cmp al, 0x39
ja 0x1010c02b
lea ecx, [ecx + ecx*4]
movzx eax, al
inc ebx
lea ecx, [ecx - 0x18]
mov dword [esp + 0xc], ebx
lea ecx, [eax + ecx*2]
mov al, byte [ebx]
cmp al, 0x30
jae 0x1010c010
cmp byte [ebx], 0x29
jne 0x1010d245
cmp ecx, 0xff
jg 0x1010d236
mov edi, dword [esp + 0x24]
mov byte [edx + 1], cl
mov eax, dword [esp + 0xc]
sub eax, dword [esi + 0x18]
mov dword [esp + 0x30], 0
inc eax
sar eax, 8
mov byte [edx + 2], al
mov al, byte [esp + 0xc]
sub al, byte [esi + 0x18]
mov word [edx + 4], 0
inc al
mov byte [edx + 3], al
mov ebx, dword [esp + 0xc]
add edx, 6
mov dword [esp + 0x10], edx
inc ebx
jmp 0x101093ee
inc ebx
mov dword [esp + 0xc], ebx
mov dl, byte [ebx]
cmp dl, 0x3d
je 0x1010c0a9
cmp dl, 0x3e
je 0x1010c0a9
cmp dl, 0x3c
je case.0x1010b9d8.39
mov eax, dword [esp + 0x20]
mov dword [eax], 0x29
jmp 0x1010d40c
mov edi, dword [esp + 0x20]
xor ecx, ecx
cmp dl, 0x3e
sete cl
mov dword [esp + 0x28], 0x29
mov dword [esp + 0x2c], ecx
jmp 0x1010c905
mov eax, dword [esp + 0x2c]
cmp dword [esi + 8], eax
je 0x1010d276
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
inc edi
add esi, 0xc
cmp edi, dword [eax + 0x30]
jl 0x1010bf50
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x30]
cmp edi, eax
jl 0x1010c190
mov ecx, dword [esi + 0x38]
cmp eax, ecx
jl 0x1010c153
lea edi, [ecx + ecx]
lea eax, [edi + edi*2]
shl eax, 2
push eax
call dword [0x106438c4]
mov esi, eax
add esp, 4
test esi, esi
je 0x1010d289
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + 0x38]
lea ecx, [ecx + ecx*2]
shl ecx, 2
push ecx
push dword [ebx + 0x28]
push esi
call sub.MSVCR110.dll_memcpy
add esp, 0xc
cmp dword [ebx + 0x38], 0x14
jle 0x1010c14b
push dword [ebx + 0x28]
call dword [sym.php5.dll_php_pcre_free]
add esp, 4
mov dword [ebx + 0x28], esi
mov esi, ebx
mov dword [esi + 0x38], edi
mov eax, dword [esi + 0x30]
mov edx, dword [esp + 0x48]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x28]
mov dword [eax + ecx*4], edx
mov eax, dword [esi + 0x30]
mov edx, dword [esp + 0x38]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x28]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esi + 0x30]
mov edx, dword [esp + 0x2c]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x28]
mov dword [eax + ecx*4 + 8], edx
inc dword [esi + 0x30]
mov ebx, dword [esp + 0xc]
jmp 0x1010c190
mov esi, edi
inc ebx
mov dword [esp + 0xc], ebx
inc dword [esi + 0x40]
mov eax, dword [esi + 0x40]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
shr eax, 8
mov byte [edi + 3], al
mov al, byte [esi + 0x40]
mov byte [edi + 4], al
mov ebx, dword [esp + 0xc]
mov edx, 2
jmp 0x1010c569
mov edi, dword [esp + 0x20]
mov dword [esp + 0x28], 0x29
mov dword [esp + 0x2c], 1
jmp 0x1010c905
inc ebx
mov dword [esp + 0xc], ebx
mov edi, dword [esp + 0x20]
mov dword [esp + 0x28], 0x29
jmp 0x1010c3a2
test ecx, 0x1000
je 0x1010c195
mov ecx, 0x83
mov dword [esp + 0x1c], ecx
jmp 0x1010c561
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
push 0
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0x40]
push ebx
push dword [esi + 0x40]
lea eax, [esp + 0xcc]
push edi
push eax
lea eax, [esp + 0x20]
push eax
call fcn.10105ef0
add esp, 0x18
cmp dword [edi], 0
mov edx, eax
mov dword [esp + 0x18], edx
jne 0x1010d0ea
test edx, edx
jne 0x1010c287
cmp dword [esp + 0x58], eax
mov eax, dword [esp + 0xc0]
je 0x1010c272
cmp eax, 0x7f
jbe 0x1010c272
lea ecx, [esp + 0xfc]
push ecx
push eax
call fcn.101366b0
mov edi, dword [esp + 0x70]
add esp, 8
mov esi, eax
jmp 0x101095f1
mov edi, dword [esp + 0x68]
mov byte [esp + 0xfc], al
mov esi, 1
jmp 0x101095f1
cmp edx, 0x1a
jne 0x1010c2c0
mov ebx, dword [esp + 0xc]
cmp byte [ebx + 1], 0x5c
jne 0x1010c2ad
cmp byte [ebx + 2], 0x45
jne 0x1010c2ad
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
add ebx, 2
inc ebx
jmp 0x101093ee
mov edx, dword [esp + 0x10]
mov edi, 1
mov dword [esp + 0x24], edi
inc ebx
jmp 0x101093ee
cmp edx, 0x19
je 0x1010ccb4
mov ecx, dword [esp + 0x44]
cmp ecx, 0xfffffffe
jne 0x1010c2e4
lea eax, [edx - 6]
cmp eax, 0x10
mov eax, 0xffffffff
cmovbe ecx, eax
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x40], eax
cmp edx, 0x1b
jne 0x1010c8a5
mov ebx, dword [esp + 0xc]
mov eax, dword [esi + 0x20]
sub eax, dword [esi + 0x10]
inc ebx
mov dword [esp + 0x94], eax
mov dword [esp + 0xc], ebx
cmp byte [ebx], 0x3c
mov eax, 0x3e
mov ecx, 0x27
cmove ecx, eax
xor eax, eax
lea edx, [ebx + 1]
mov dword [esp + 0x18], eax
mov dword [esp + 0x34], eax
movzx eax, byte [edx]
mov dword [esp + 0x28], ecx
cmp eax, 0x2b
je 0x1010c36a
cmp eax, 0x2d
je 0x1010c36a
cmp eax, 0x30
jb 0x1010c35d
cmp eax, 0x39
jbe 0x1010c36a
mov dword [esp + 0x2c], 1
jmp 0x1010c905
mov al, byte [ebx + 2]
lea ecx, [ebx + 2]
cmp al, 0x30
jb 0x1010c380
cmp al, 0x39
ja 0x1010c380
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x30
jae 0x1010c374
mov eax, dword [esp + 0x28]
cmp byte [ecx], al
je 0x1010c39c
mov edx, dword [esp + 0x10]
mov dword [edi], 0x39
mov edi, dword [esp + 0x24]
inc ebx
jmp 0x101093ee
mov ebx, edx
mov dword [esp + 0xc], ebx
mov dl, byte [ebx]
movzx esi, dl
cmp esi, 0x2b
jne 0x1010c430
inc ebx
mov dword [esp + 0xc], ebx
mov al, byte [ebx]
cmp al, 0x30
jb 0x1010d2ba
cmp al, 0x39
ja 0x1010d2ba
mov al, byte [ebx]
xor ecx, ecx
mov dword [esp + 0x18], ecx
cmp al, 0x30
jb 0x1010c3f2
cmp al, 0x39
ja 0x1010c3ee
lea ecx, [ecx + ecx*4]
movzx eax, al
inc ebx
lea ecx, [ecx - 0x18]
mov dword [esp + 0xc], ebx
lea ecx, [eax + ecx*2]
mov al, byte [ebx]
cmp al, 0x30
jae 0x1010c3d3
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x28]
cmp byte [ebx], al
jne 0x1010d324
cmp esi, 0x2d
jne 0x1010c882
test ecx, ecx
je 0x1010d319
mov esi, dword [esp + 0x14]
mov edx, dword [esi + 0x40]
sub edx, ecx
inc edx
mov dword [esp + 0x18], edx
test edx, edx
jg 0x1010caa2
mov dword [edi], 0xf
jmp 0x1010d40c
cmp esi, 0x2d
jne 0x1010c3c7
mov al, byte [ebx + 1]
cmp al, 0x30
jb case.0x1010b9d8.34
cmp al, 0x39
ja case.0x1010b9d8.34
inc ebx
mov dword [esp + 0xc], ebx
jmp 0x1010c3c7
xor eax, eax
xor esi, esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], esi
lea ecx, [esp + 0x48]
cmp dl, 0x29
je 0x1010c4ce
nop
cmp dl, 0x3a
je 0x1010c4c6
movzx eax, dl
inc ebx
sub eax, 0x2d
mov dword [esp + 0xc], ebx
cmp eax, 0x4b
ja case.0x1010c480.46
movzx eax, byte [eax + 0x1010d66c]
jmp dword [eax*4 + 0x1010d648]
lea ecx, [esp + 0x2c]
jmp 0x1010c4bf
mov eax, dword [esp + 0x14]
or dword [ecx], 0x80000
or dword [eax + 0x64], 0x400
jmp 0x1010c4bf
or dword [ecx], 1
jmp 0x1010c4bf
or dword [ecx], 2
jmp 0x1010c4bf
or dword [ecx], 4
jmp 0x1010c4bf
or dword [ecx], 8
jmp 0x1010c4bf
or dword [ecx], 0x200
jmp 0x1010c4bf
or dword [ecx], 0x40
mov dl, byte [ebx]
cmp dl, 0x29
jne 0x1010c460
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x2c]
or esi, dword [esp + 0x3c]
not eax
and esi, eax
cmp byte [ebx], 0x29
mov dword [esp + 0x50], esi
jne 0x1010c549
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + 0x14]
add eax, 3
cmp edx, eax
jne 0x1010c503
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x1010c4fe
cmp dword [eax], 6
jne 0x1010c503
mov dword [ecx + 0x60], esi
jmp 0x1010c528
mov eax, esi
shr eax, 9
and eax, 1
mov dword [esp + 0xcc], eax
xor eax, 1
mov dword [esp + 0xd8], eax
mov eax, esi
and eax, 1
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xe4]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x3c], esi
mov dword [eax], esi
mov dword [esp + 0x30], 0
mov esi, ecx
inc ebx
jmp 0x101093ee
mov ecx, 0x83
inc ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], ebx
jmp 0x1010c55d
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
inc dword [esi + 0x58]
cmp dword [esi + 0x58], 0xfa
jg 0x1010d30a
lea eax, [ecx - 0x7d]
cmp eax, 3
ja 0x1010c598
cmp dword [esi + 0x7c], 0
je 0x1010c598
mov dword [esp + 0x30], 0
mov dword [esi + 0x7c], 0
jmp 0x1010c59c
mov dword [esp + 0x30], edi
mov byte [edi], cl
mov dword [esp + 0x64], edi
mov edi, dword [esi + 0x68]
mov esi, dword [esi + 0x40]
mov dword [esp + 0xa4], 0
cmp ecx, 0x7f
je 0x1010c5c4
cmp ecx, 0x80
je 0x1010c5c4
xor ecx, ecx
jmp 0x1010c5c9
mov ecx, 1
mov ebx, dword [esp + 0x5c]
test ebx, ebx
mov ebx, 0
lea eax, [esp + 0xa4]
cmove eax, ebx
push eax
push dword [esp + 0x18]
mov ebx, dword [esp + 0x24]
push dword [esp + 0xd0]
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0xcc]
push eax
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0xec]
push eax
xor eax, eax
cmp ebx, 0x87
sete al
add eax, dword [ebp + 0x2c]
push eax
push edx
push dword [esp + 0x58]
lea eax, [esp + 0x34]
push ecx
push dword [esp + 0x4c]
push eax
lea eax, [esp + 0x98]
push eax
push dword [esp + 0x88]
call fcn.101058f0
add esp, 0x3c
test eax, eax
je 0x1010d0ea
mov eax, dword [esp + 0x14]
dec dword [eax + 0x58]
cmp ebx, 0x81
jne 0x1010c6e5
cmp dword [eax + 0x40], esi
ja 0x1010c66a
mov eax, dword [esp + 0x10]
mov byte [eax], 0x82
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xc]
cmp byte [ebx], 0x29
jne 0x1010d2fb
mov esi, dword [esp + 0x5c]
test esi, esi
je 0x1010c770
mov edx, dword [esi]
mov esi, dword [esp + 0xa4]
mov ecx, dword [esp + 0x98]
sub ecx, edx
lea eax, [esi - 6]
cmp ecx, eax
jl 0x1010d0d1
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x24]
lea eax, [esi - 6]
mov esi, dword [esp + 0x14]
add eax, edx
mov edx, dword [esp + 0x10]
mov dword [ebx], eax
mov dword [edx + 1], 0x780300
mov byte [edx + 5], 3
mov ebx, dword [esp + 0xc]
add edx, 6
mov dword [esp + 0x10], edx
inc ebx
jmp 0x101093ee
cmp ebx, 0x7d
jl 0x1010c6f5
cmp ebx, 0x80
jg 0x1010c6f5
dec dword [eax + 0x5c]
cmp ebx, 0x87
jne 0x1010c66a
cmp dword [esp + 0x5c], 0
jne 0x1010c66a
mov ebx, dword [esp + 0x10]
mov edx, ebx
xor esi, esi
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
inc esi
cmp byte [edx], 0x78
jne 0x1010c714
cmp byte [ebx + 3], 0x91
jne 0x1010c742
cmp esi, 1
jg 0x1010d2d5
mov edx, 0x91
jmp 0x1010c66e
cmp esi, 2
jg 0x1010d2e8
cmp esi, 1
jne 0x1010c66a
mov edx, dword [esp + 0x1c]
or eax, 0xffffffff
or ecx, eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb0], ecx
jmp 0x1010c67c
mov esi, dword [esp + 0x64]
mov dword [esp + 0x10], esi
cmp edx, 0x91
je 0x1010996e
mov esi, dword [esp + 0x70]
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x68]
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x44]
mov dword [esp + 0x80], esi
mov dword [esp + 0xb4], 0
cmp edx, 0x81
jl 0x1010c850
cmp esi, 0xfffffffe
jne 0x1010c806
test ecx, ecx
js 0x1010c7f1
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0xb4], 1
mov dword [esp + 0x80], 0xffffffff
jmp 0x1010c827
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x80], 0xffffffff
jmp 0x1010c827
test ecx, ecx
js 0x1010c827
test eax, eax
jns 0x1010c82f
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xbc], eax
mov eax, ecx
or eax, edi
mov dword [esp + 0xa8], eax
test eax, eax
js 0x1010996e
mov ecx, dword [esp + 0xbc]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x68], eax
inc ebx
jmp 0x101093ee
cmp edx, 0x7d
jne 0x1010996e
test eax, eax
js 0x1010996e
mov ecx, dword [esp + 0xbc]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x68], eax
inc ebx
jmp 0x101093ee
cmp esi, 0x2b
jne 0x1010ca9a
test ecx, ecx
je 0x1010d319
mov esi, dword [esp + 0x14]
add ecx, dword [esi + 0x40]
mov dword [esp + 0x18], ecx
mov edx, ecx
jmp 0x1010caa2
cmp edx, 0x1c
jne 0x1010ccc6
mov ebx, dword [esp + 0xc]
mov al, byte [ebx + 1]
cmp al, 0x3c
je 0x1010c8d5
cmp al, 0x27
je 0x1010c8d5
cmp al, 0x7b
je 0x1010c8d5
mov edx, dword [esp + 0x10]
mov dword [edi], 0x45
mov edi, dword [esp + 0x24]
inc ebx
jmp 0x101093ee
inc ebx
mov dword [esp + 0xc], ebx
mov al, byte [ebx]
mov dword [esp + 0x2c], 0
cmp al, 0x3c
jne 0x1010c8f2
mov dword [esp + 0x28], 0x3e
jmp 0x1010c905
cmp al, 0x27
mov ecx, 0x7d
mov eax, 0x27
cmove ecx, eax
mov dword [esp + 0x28], ecx
inc ebx
mov dword [esp + 0xc], ebx
mov al, byte [ebx]
mov edx, ebx
mov dword [esp + 0x48], edx
cmp al, 0x30
jb 0x1010c91e
cmp al, 0x39
jbe 0x1010d32f
mov ecx, dword [esi + 0xc]
movzx eax, al
test byte [eax + ecx], 0x10
je 0x1010c93e
lea ebx, [ebx]
inc ebx
mov dword [esp + 0xc], ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 0x10
jne 0x1010c930
mov edi, ebx
sub edi, edx
cmp dword [esp + 0x5c], 0
je 0x1010c9ca
test edi, edi
je 0x1010d33a
mov eax, dword [esp + 0x28]
cmp byte [ebx], al
jne 0x1010d2ab
cmp edi, 0x20
jg 0x1010d254
mov ecx, dword [esp + 0x14]
mov esi, dword [esi + 0x28]
xor ebx, ebx
cmp ebx, dword [ecx + 0x30]
jge 0x1010c9a9
cmp edi, dword [esi + 4]
jne 0x1010c996
push edi
push dword [esi]
push edx
call dword [sym.imp.MSVCR110.dll_strncmp]
mov ecx, dword [esp + 0x20]
add esp, 0xc
test eax, eax
je 0x1010c99f
mov edx, dword [esp + 0x48]
inc ebx
add esi, 0xc
cmp ebx, dword [ecx + 0x30]
jl 0x1010c978
cmp ebx, dword [ecx + 0x30]
jge 0x1010c9a9
mov edx, dword [esi + 8]
jmp 0x1010c9ab
xor edx, edx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], edx
test eax, eax
jne 0x1010c9ba
inc dword [ecx + 0x54]
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x74]
add dword [esi], 2
jmp 0x1010ca49
mov ecx, dword [esi + 0x2c]
mov eax, dword [esp + 0x14]
xor esi, esi
mov dword [esp + 0x74], ecx
mov dword [esp + 0x38], esi
cmp esi, dword [eax + 0x30]
jge 0x1010d1f8
mov ebx, ecx
push edi
lea eax, [ebx + 2]
push eax
push edx
call dword [sym.imp.MSVCR110.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x1010c9ff
cmp byte [ebx + edi + 2], al
je 0x1010ca16
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x48]
add ebx, dword [eax + 0x34]
inc esi
mov dword [esp + 0x74], ebx
cmp esi, dword [eax + 0x30]
jl 0x1010c9e6
jmp 0x1010ca1a
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], esi
cmp esi, dword [eax + 0x30]
jge 0x1010d1f8
movzx edx, byte [ecx]
movzx eax, byte [ecx + 1]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x2c]
mov ebx, esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x18], edx
test eax, eax
jne 0x1010ca9e
test esi, esi
mov esi, dword [esp + 0x14]
jne 0x1010ccda
cmp dword [esi + 0x78], eax
je 0x1010ccda
mov eax, dword [esp + 0x14]
mov esi, dword [esi + 0x34]
mov edi, dword [eax + 0x30]
mov dword [esp + 0x48], ebx
add ecx, esi
inc ebx
mov dword [esp + 0x38], 1
mov dword [esp + 0x2c], ecx
cmp ebx, edi
jge 0x1010ccd8
mov eax, dword [esp + 0x74]
add eax, 2
mov dword [esp + 0x9c], eax
jmp 0x1010cbb4
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
cmp dword [esp + 0x5c], 0
mov edi, dword [esp + 0x10]
mov ebx, dword [esi + 0x14]
mov dword [esp + 0x30], edi
jne 0x1010cb63
mov byte [edi], 0
test edx, edx
je 0x1010cad5
push edx
push dword [esp + 0x5c]
push dword [esi + 0x14]
call fcn.10105740
mov edx, dword [esp + 0x24]
add esp, 0xc
mov ebx, eax
test ebx, ebx
jne 0x1010cb31
cmp edx, dword [esi + 0x44]
jg 0x1010d349
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
add eax, 0xffffff9c
add eax, dword [esi + 0x3c]
add ebx, edx
cmp dword [esi + 0x20], eax
jb 0x1010cb0c
push esi
call fcn.10105e00
mov ecx, dword [esp + 0x24]
add esp, 4
mov dword [ecx], eax
test eax, eax
jne 0x1010d0ea
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x20]
mov ecx, edx
sub ecx, dword [esi + 0x14]
inc ecx
sar ecx, 8
mov byte [eax], cl
mov eax, dword [esi + 0x20]
mov cl, dl
sub cl, byte [esi + 0x14]
inc cl
mov byte [eax + 1], cl
add dword [esi + 0x20], 2
jmp 0x1010cb67
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
jne 0x1010cb63
cmp dword [ebp + 0x2c], ecx
jg 0x1010cb63
push esi
push dword [esp + 0x5c]
push dword [esp + 0xd0]
push edi
push ebx
call fcn.10107320
add esp, 0x14
test eax, eax
jne 0x1010d35c
mov edx, dword [esp + 0x10]
mov byte [edx], 0x75
mov eax, ebx
sub eax, dword [esi + 0x14]
add edx, 3
sar eax, 8
mov byte [edx - 2], al
sub bl, byte [esi + 0x14]
cmp dword [esp + 0x44], 0xfffffffe
mov byte [edx - 1], bl
mov dword [esp + 0x10], edx
mov dword [esp + 0xb4], 0
jne 0x1010d0c3
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x44], 0xffffffff
inc ebx
jmp 0x101093ee
mov ecx, dword [esp + 0x2c]
add ecx, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010cbd7
test dl, dl
je 0x1010cbd3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010cbd7
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010cbb7
xor eax, eax
jmp 0x1010cbdc
sbb eax, eax
or eax, 1
mov ecx, dword [esp + 0x38]
test eax, eax
jne 0x1010cbf9
add dword [esp + 0x2c], esi
mov eax, dword [esp + 0x9c]
inc ecx
inc ebx
mov dword [esp + 0x38], ecx
cmp ebx, edi
jl 0x1010cbb0
mov esi, dword [esp + 0x14]
cmp ecx, 1
jle 0x1010ccd2
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x74]
cmp eax, 0xfffffffe
mov edx, 0xffffffff
cmove eax, edx
test byte [esp + 0x3c], 1
mov edx, dword [esp + 0x48]
mov dword [esp + 0x44], eax
setne al
add al, 0x73
mov byte [ebx], al
mov eax, edx
mov dword [esp + 0x30], ebx
inc ebx
shr eax, 8
mov byte [ebx], al
mov byte [ebx + 1], dl
mov edx, ebx
mov eax, ecx
sar eax, 8
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x2c]
mov byte [edx + 2], al
mov byte [edx + 3], cl
add edx, 4
mov dword [esp + 0x10], edx
cmp edi, ebx
jae 0x1010d0c3
movzx edx, byte [edi]
movzx eax, byte [edi + 1]
shl edx, 8
or edx, eax
mov eax, 1
cmp edx, 0x20
jge 0x1010cc7e
mov ecx, edx
shl eax, cl
or dword [esi + 0x50], eax
cmp edx, dword [esi + 0x4c]
jle 0x1010cc89
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x1010cca9
movzx eax, word [ecx + 4]
cmp eax, edx
je 0x1010cca0
mov ecx, dword [ecx]
test ecx, ecx
jne 0x1010cc90
jmp 0x1010cca9
mov eax, 1
mov word [ecx + 6], ax
add edi, dword [esi + 0x34]
cmp edi, ebx
jb 0x1010cc64
mov dword [esp + 0x74], edi
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
inc ebx
jmp 0x101093ee
test edx, edx
jns 0x1010cd7a
neg edx
jmp 0x1010cce2
mov edx, dword [esp + 0x18]
jmp 0x1010ccda
mov esi, eax
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x3c]
cmp ecx, 0xfffffffe
mov eax, 0xffffffff
cmove ecx, eax
test bl, 1
setne al
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x10]
add al, 0x71
mov byte [ecx], al
mov eax, edx
sar eax, 8
mov dword [esp + 0x30], ecx
mov byte [ecx + 1], al
mov byte [ecx + 2], dl
add ecx, 3
mov dword [esp + 0x10], ecx
cmp edx, 0x20
jge 0x1010cd27
mov ebx, 1
mov eax, ebx
mov ecx, edx
shl eax, cl
jmp 0x1010cd2e
mov eax, 1
mov ebx, eax
or dword [esi + 0x50], eax
cmp edx, dword [esi + 0x4c]
jle 0x1010cd39
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x1010ccb4
movzx eax, word [ecx + 4]
cmp eax, edx
je 0x1010cd64
mov ecx, dword [ecx]
test ecx, ecx
jne 0x1010cd44
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
inc ebx
jmp 0x101093ee
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov word [ecx + 6], bx
mov ebx, dword [esp + 0xc]
inc ebx
jmp 0x101093ee
cmp edx, 0xf
je 0x1010ce0c
cmp edx, 0x10
je 0x1010ce0c
cmp edx, 5
je 0x1010cd9b
cmp edx, 4
je 0x1010cd9b
cmp edx, 1
jne 0x1010cda8
cmp dword [esi + 0x48], 0
jne 0x1010cda8
mov dword [esi + 0x48], 1
lea ebx, [edx - 0x1d]
cmp ebx, 5
ja 0x1010cdcf
mov ebx, dword [ebx*4 + 0x10643838]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
inc eax
dec ebx
mov dword [esp + 0x78], eax
inc ebx
jmp 0x101093ee
lea eax, [edx - 6]
xor edi, edi
cmp eax, 0x10
mov eax, dword [esp + 0x10]
cmovbe edi, eax
cmp dword [esp + 0x58], 0
mov dword [esp + 0x30], edi
jne 0x1010cdf3
cmp edx, 0xe
jne 0x1010cdf3
mov edx, 0xd
mov edi, dword [esp + 0x24]
mov byte [eax], dl
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
inc edx
mov dword [esp + 0x10], edx
inc ebx
jmp 0x101093ee
push edi
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x100]
push eax
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x40], 0
call fcn.101066c0
add esp, 0x14
test eax, eax
je 0x1010d0ea
mov edx, dword [esp + 0x10]
xor eax, eax
cmp dword [esp + 0x18], 0x10
mov edi, dword [esp + 0x24]
sete al
mov dword [esp + 0x30], edx
cmp eax, dword [esp + 0xf4]
setne al
add al, 0xf
mov byte [edx], al
movzx eax, byte [esp + 0x48]
mov byte [edx + 1], al
movzx eax, byte [esp + 0x2c]
mov byte [edx + 2], al
mov ebx, dword [esp + 0xc]
add edx, 3
mov dword [esp + 0x10], edx
inc ebx
jmp 0x101093ee
movzx ecx, byte [esp + 0xfd]
movzx eax, byte [esp + 0xfe]
and ecx, 0x3f
test bl, 0x10
jne 0x1010ceae
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x1010cf2e
and eax, 0x3f
test bl, 8
jne 0x1010cecd
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esp + 0xff]
jmp 0x1010cf2e
test bl, 4
jne 0x1010cef9
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esp + 0xff]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esp + 0x100]
jmp 0x1010cf2e
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esp + 0xff]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esp + 0x100]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esp + 0x101]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x10490fd0]
shl eax, 7
and ebx, 0x8000007f
jns 0x1010cf58
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x10]
add eax, ebx
movzx eax, word [eax*2 + 0x104931d0]
movzx eax, byte [eax*8 + 0x1048f953]
test eax, eax
je 0x1010cfb1
mov esi, dword [esp + 0x14]
mov word [edx], 0x910
mov byte [edx + 2], al
add edx, 3
cmp dword [esp + 0x44], 0xfffffffe
mov dword [esp + 0x10], edx
jne 0x1010d0c3
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x44], 0xffffffff
inc ebx
jmp 0x101093ee
test byte [esp + 0x3c], 1
setne al
add al, 0x1d
mov byte [edx], al
inc edx
xor ecx, ecx
mov dword [esp + 0x10], edx
test esi, esi
je 0x1010cfe3
jmp 0x1010cfd0
mov al, byte [esp + ecx + 0xfc]
mov byte [edx], al
inc ecx
inc edx
cmp ecx, esi
jb 0x1010cfd0
mov dword [esp + 0x10], edx
mov al, byte [esp + 0xfc]
cmp al, 0xd
je 0x1010cff2
cmp al, 0xa
jne 0x1010cffd
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x64], 0x800
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x40], edi
cmp ecx, 0xfffffffe
jne 0x1010d06e
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x60], ecx
cmp esi, 1
je 0x1010d04e
cmp dword [esp + 0xa0], 0
je 0x1010d04e
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x68], 0xffffffff
mov dword [esp + 0x44], 0xffffffff
inc ebx
jmp 0x101093ee
movzx eax, al
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xa0]
cmp esi, 1
mov esi, dword [esp + 0x14]
mov dword [esp + 0x44], eax
je 0x1010d0c3
mov eax, dword [esi + 0x68]
jmp 0x1010d0b7
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x90], eax
mov dword [esp + 0x60], ecx
cmp esi, 1
je 0x1010d0a9
cmp dword [esp + 0xa0], 0
je 0x1010d0a9
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
inc ebx
jmp 0x101093ee
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x68]
or eax, dword [esp + 0xa0]
movzx ecx, byte [edx - 1]
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], ecx
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x24]
inc ebx
jmp 0x101093ee
mov eax, dword [esp + 0x20]
mov dword [eax], 0x14
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 0x1e
mov ebx, dword [esp + 0xc]
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 0x1f
jmp 0x1010d40c
mov dword [edx], 7
jmp 0x1010d40c
mov ebx, dword [esp + 0xc]
mov dword [edx], 0x47
jmp 0x1010d40c
mov dword [ebx], 0x53
mov ebx, dword [esp + 0xc]
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 0x53
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 8
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 6
jmp 0x1010d40c
cmp byte [ebx + 1], 0x3a
mov ecx, 0xd
mov eax, 0x1f
cmove eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [ecx], eax
jmp 0x1010d40c
mov dword [edx], 9
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 0x4b
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
mov dword [eax], 0x3b
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
mov dword [eax], 0x42
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
mov dword [eax], 0x3c
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 0x3c
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 0x54
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 0x23
jmp 0x1010d40c
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
mov dword [eax], 0xf
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
dec ebx
mov dword [eax], 0x1a
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 0x1c
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
inc ebx
mov dword [eax], 0x18
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 0x26
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 0x27
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 0x30
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
mov dword [eax], 0x2b
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
mov dword [eax], 0x41
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
mov dword [eax], 0x15
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 0x31
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 0x2a
jmp 0x1010d40c
mov dword [edi], 0x3f
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
dec ebx
mov dword [eax], 0xc
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
mov dword [eax], 0x36
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
mov dword [eax], 0x1b
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 0xe
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 0x52
jmp 0x1010d40c
mov dword [edi], 0x3a
jmp 0x1010d40c
mov dword [edi], 0x1d
jmp 0x1010d40c
mov dword [edi], 0x54
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov dword [eax], 0x3e
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
mov dword [eax], 0xf
jmp 0x1010d40c
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
mov dword [eax], 0x28
jmp 0x1010d40c
mov edx, dword [esp + 0xdc]
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x5c]
mov dword [edx], eax
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0x44]
mov dword [edx], eax
mov edx, dword [esp + 0xf8]
mov eax, dword [esp + 0x70]
mov dword [edx], eax
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0xe0]
mov dword [edx], eax
mov eax, dword [esp + 0xe8]
mov dword [eax], ecx
mov eax, dword [esp + 0xd0]
mov dword [eax], ebx
test esi, esi
je 0x1010d3e8
mov edx, dword [esp + 0x10]
mov ecx, dword [esi]
mov edi, dword [esp + 0xac]
sub dword [esp + 0x98], ecx
mov eax, edx
sub eax, edi
cmp dword [esp + 0x98], eax
jl 0x1010d0d1
sub ecx, edi
add ecx, edx
mov dword [esi], ecx
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x140]
xor ecx, esp
call fcn.10311bec
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x20]
mov dword [eax], 0x34
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x14c]
pop edi
mov dword [eax], ebx
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.10311bec
mov esp, ebp
pop ebp
ret