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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x5c
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x70]
xor esi, esi
mov ebp, 0
test ebx, ebx
je 0x10134d46
mov eax, ebx
and eax, 3
jne 0x10134d46
push 0x4014
push 0
push ebx
call fcn.10368a10
add esp, 0xc
mov ebp, ebx
mov ebx, dword [esp + 0x80]
cmp edi, 2
mov eax, 1
cmovge eax, edi
cmp eax, 0x10001
mov ecx, 0x10001
cmovb ecx, eax
cmp dword [esp + 0x7c], 0x7e000000
ja 0x10134d89
mov esi, ecx
mov ecx, 0x80808081
mov edi, dword [esp + 0x7c]
mov eax, edi
mul ecx
mov ecx, esi
shr edx, 7
lea esi, [edi + edx]
add esi, 0x10
mov edx, dword [esp + 0x74]
cmp esi, ebx
mov dword [esp + 0x24], ebp
jle 0x101352f5
mov edi, ebx
mov esi, dword [esp + 0x7c]
xor eax, eax
cmp esi, 0x1000a
jg 0x10135359
cmp esi, 0x7e000000
ja 0x1013670e
test esi, esi
je 0x1013600a
mov ebx, edi
mov dword [esp + 0x3c], ecx
mov edi, esi
mov esi, edx
mov eax, dword [ebp + 0x4008]
add dword [ebp + 0x4010], edi
mov edx, dword [esp + 0x78]
add ebx, edx
lea ecx, [eax + edi]
mov dword [ebp + 0x4008], ecx
mov dword [ebp + 0x400c], 3
mov ecx, esi
cmp edi, 0xd
jb 0x10136586
mov dword [esp + 0x1c], ebx
mov ecx, esi
sub ecx, eax
mov dword [esp + 0x30], ecx
lea ecx, [esi + edi]
add ecx, 0xfffffff5
mov dword [esp + 0x2c], ecx
add edi, esi
add edi, 0xfffffffb
imul ecx, dword [esi], 0x9e3779b1
shr ecx, 0x13
mov word [ebp + ecx*2], ax
mov edx, dword [esp + 0x3c]
shl edx, 6
lea eax, [edi - 3]
mov dword [esp + 0x14], eax
mov dword [esp + 0x48], edi
lea eax, [edi - 1]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
lea ecx, [esi + 1]
mov dword [esp + 0x18], esi
mov eax, dword [esi + 1]
mov dword [esp], eax
mov edi, 1
nop dword [eax + eax]
mov ebx, ecx
mov ecx, edi
add ecx, ebx
cmp ecx, dword [esp + 0x2c]
ja 0x10136727
imul edi, dword [esp], 0x9e3779b1
shr edi, 0x13
movzx eax, word [ebp + edi*2]
mov dword [esp + 0xc], eax
mov ebp, ebx
mov esi, dword [esp + 0x30]
sub ebp, esi
mov eax, dword [ecx]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x24]
mov word [ebx + edi*2], bp
mov ebx, dword [esp + 4]
mov edi, edx
shr edi, 6
inc edx
mov eax, dword [esp + 0xc]
mov ebp, dword [esi + eax]
cmp ebp, dword [ebx]
mov ebp, dword [esp + 0x24]
jne 0x10134e60
mov esi, eax
add esi, dword [esp + 0x30]
mov dword [esp + 0xc], esi
mov edx, ebx
mov eax, dword [esp + 0x18]
sub edx, eax
lea ebp, [edx + 0xef]
lea edi, [edx - 0xf]
mov ch, bl
shl ch, 4
mov cl, al
shl cl, 4
sub ch, cl
xor esi, esi
mov dword [esp + 0x4c], edi
nop word cs:[eax + eax]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x40], edi
mov bl, ch
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0xc]
lea ecx, [eax + esi]
mov dword [esp], esi
mov eax, dword [esp + 4]
add eax, esi
mov dword [esp + 8], eax
mov dword [esp + 0x20], ecx
cmp ecx, dword [esp + 0x74]
jbe 0x10134f68
mov eax, dword [esp + 0x18]
cmp dword [esp + 8], eax
jbe 0x10134f68
mov eax, dword [esp]
mov ecx, dword [esp + 4]
movzx ecx, byte [ecx + eax - 1]
mov byte [esp + 0x44], cl
mov edx, dword [esp + 0x34]
lea ebp, [edx - 1]
mov edx, dword [esp + 0x40]
lea edi, [edx - 1]
lea esi, [eax - 1]
mov ch, bl
add ch, 0xf0
mov edx, dword [esp + 0x28]
dec edx
mov byte [esp + 0x10], bl
mov ebx, dword [esp + 0xc]
mov cl, byte [esp + 0x44]
cmp cl, byte [ebx + eax - 1]
movzx ebx, byte [esp + 0x10]
je 0x10134ef0
mov edi, dword [esp + 4]
sub edi, dword [esp + 0x18]
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
mov edx, 0x80808081
mul edx
shr edx, 7
add edx, esi
add edx, edi
mov ecx, dword [esp]
lea eax, [ecx + edx]
add eax, 9
cmp eax, dword [esp + 0x1c]
ja 0x10136716
mov eax, edi
mov edx, edi
lea eax, [edi + ecx]
lea edi, [esi + 1]
mov dword [esp + 4], edi
cmp eax, 0xf
mov ebp, dword [esp + 0x24]
jb 0x10135045
mov edi, dword [esp + 0x4c]
add edi, ecx
mov byte [esi], 0xf0
cmp edi, 0xff
jl 0x10135053
mov esi, dword [esp + 0x40]
cmp esi, 0x1fd
mov eax, 0x1fd
cmovge esi, eax
mov edi, edx
mov eax, edx
sub eax, esi
add eax, ecx
add eax, 0xef
mov ecx, 0x80808081
mul ecx
shr edx, 7
mov dword [esp + 0xc], edx
lea eax, [edx + 1]
push eax
push 0xff
push dword [esp + 0xc]
call fcn.10368a10
mov ecx, dword [esp + 0xc]
mov ebx, edi
add esp, 0xc
mov eax, dword [esp + 0x34]
sub eax, esi
mov edx, 0x80808081
mul edx
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0xc]
add esi, eax
add esi, 2
shr edx, 7
mov eax, edx
shl eax, 8
sub edx, eax
add edx, edi
lea eax, [ecx + edx]
add eax, 0xfffffef2
mov edi, dword [esp + 8]
jmp 0x1013505f
mov byte [esi], bl
mov edi, dword [esp + 8]
mov ebx, edx
mov esi, dword [esp + 4]
jmp 0x10135062
mov eax, edi
mov edi, dword [esp + 8]
mov ebx, edx
mov esi, dword [esp + 4]
mov byte [esi], al
inc esi
add ecx, esi
add ecx, ebx
lea eax, [esi + 8]
cmp ecx, eax
mov edx, ecx
mov ebx, eax
mov dword [esp], ecx
cmova ebx, ecx
mov ecx, esi
not ecx
add ebx, ecx
cmp ebx, 0x18
jb 0x101350ec
mov dword [esp + 4], ebx
mov edx, esi
mov ebx, dword [esp + 0x18]
sub edx, ebx
cmp edx, 0x20
jb 0x101350f2
mov edx, dword [esp + 4]
shr edx, 3
inc edx
mov dword [esp + 4], edx
and edx, 0xfffffffc
mov edi, dword [esp + 0x28]
add edi, esi
cmp edi, eax
cmovbe edi, eax
lea eax, [ebx + edx*8]
mov dword [esp + 0xc], edx
lea edx, [esi + edx*8]
add ecx, edi
shr ecx, 3
inc ecx
and ecx, 0xfffffffc
xor edi, edi
movups xmm0, xmmword [ebx + edi*8]
movups xmm1, xmmword [ebx + edi*8 + 0x10]
movups xmmword [esi + edi*8], xmm0
movups xmmword [esi + edi*8 + 0x10], xmm1
add edi, 4
cmp ecx, edi
jne 0x101350c0
mov ecx, dword [esp + 0xc]
cmp dword [esp + 4], ecx
mov edi, dword [esp + 8]
mov ebx, dword [esp]
jne 0x10135100
jmp 0x10135112
mov eax, dword [esp + 0x18]
jmp 0x101350f4
mov eax, ebx
mov edx, esi
mov ebx, dword [esp]
nop dword [eax]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
add edx, 8
add eax, 8
cmp edx, ebx
jb 0x10135100
mov esi, dword [esp + 0x38]
nop word cs:[eax + eax]
mov eax, edi
mov ecx, dword [esp + 0x20]
sub eax, ecx
mov dword [esp], ebx
mov word [ebx], ax
add ecx, 4
lea eax, [edi + 4]
cmp dword [esp + 0x14], eax
jbe 0x101352d7
mov edx, dword [eax]
xor edx, dword [ecx]
je 0x10135150
tzcnt ebx, edx
shr ebx, 3
jmp 0x101351cf
mov dword [esp + 8], edi
lea ebx, [edi + 8]
mov ecx, dword [esp + 0x20]
add ecx, 8
mov edi, esi
cmp ebx, dword [esp + 0x14]
jae 0x10135185
mov edx, ebx
sub edx, dword [esp + 8]
add edx, 0xfffffffc
nop
mov esi, dword [ebx]
xor esi, dword [ecx]
jne 0x101351c0
add ebx, 4
add ecx, 4
add edx, 4
cmp ebx, dword [esp + 0x14]
jb 0x10135170
cmp ebx, dword [esp + 0x50]
jae 0x10135199
movzx edx, word [ecx]
cmp dx, word [ebx]
jne 0x10135199
add ebx, 2
add ecx, 2
mov esi, edi
cmp ebx, dword [esp + 0x48]
mov edi, dword [esp + 8]
jae 0x101351b1
movzx ecx, byte [ecx]
xor edx, edx
cmp cl, byte [ebx]
sete dl
add ebx, edx
sub ebx, eax
jmp 0x101351cf
tzcnt ebx, esi
shr ebx, 3
add ebx, edx
mov esi, edi
mov edi, dword [esp + 8]
lea eax, [ebx + 0xf0]
mov ecx, 0x80808081
mul ecx
shr edx, 7
mov ecx, dword [esp]
lea eax, [ecx + edx]
add eax, 8
cmp eax, dword [esp + 0x1c]
ja 0x10136716
lea eax, [ecx + 2]
movzx ecx, byte [esi]
cmp ebx, 0xf
jb 0x10135270
add cl, 0xf
mov byte [esi], cl
lea ecx, [ebx - 0xf]
mov dword [eax], 0xffffffff
cmp ecx, 0x3fc
jb 0x10135258
lea eax, [ebx - 0x40b]
mov ecx, 0x80808081
mul ecx
mov esi, edx
mov eax, dword [esp]
add eax, 6
shr esi, 9
lea ecx, [esi*4 + 4]
push ecx
push 0xff
push eax
call fcn.10368a10
add esp, 0xc
mov eax, dword [esp]
lea eax, [eax + esi*4]
add eax, 6
imul ecx, esi, 0xfffffc04
add ecx, ebx
add ecx, 0xfffffbf5
movzx edx, cx
imul edx, edx, 0x8081
shr edx, 0x17
add ecx, edx
mov byte [eax + edx], cl
add eax, edx
inc eax
jmp 0x10135274
add cl, bl
mov byte [esi], cl
add edi, ebx
add edi, 4
cmp edi, dword [esp + 0x2c]
jae 0x10136576
mov esi, edi
mov dword [esp + 4], eax
lea ecx, [edi - 2]
imul edx, dword [edi - 2], 0x9e3779b1
mov ebx, dword [esp + 0x30]
sub ecx, ebx
shr edx, 0x13
mov word [ebp + edx*2], cx
imul ecx, dword [edi], 0x9e3779b1
shr ecx, 0x13
movzx edx, word [ebp + ecx*2]
sub edi, ebx
lea eax, [ebx + edx]
mov dword [esp + 0x20], eax
mov word [ebp + ecx*2], di
mov ecx, dword [ebx + edx]
mov eax, esi
cmp ecx, dword [esi]
jne 0x101352e2
mov esi, dword [esp + 4]
lea ebx, [esi + 1]
mov byte [esi], 0
mov edi, eax
jmp 0x10135120
mov dword [esp + 8], edi
mov ebx, eax
jmp 0x1013515e
mov ecx, dword [esp + 4]
mov dword [esp + 0x38], ecx
mov esi, eax
mov edx, dword [esp + 0x3c]
jmp 0x10134e49
mov esi, dword [esp + 0x7c]
xor eax, eax
cmp esi, 0x1000a
jg 0x101353b0
cmp esi, 0x7e000000
ja 0x1013670e
test esi, esi
je 0x10136012
mov edi, esi
mov esi, ecx
mov eax, dword [ebp + 0x4008]
lea ecx, [edx + edi]
mov dword [esp + 0x18], ecx
add dword [ebp + 0x4010], edi
lea ecx, [eax + edi]
mov dword [ebp + 0x4008], ecx
mov dword [ebp + 0x400c], 3
cmp edi, 0xd
jae 0x10136023
mov edi, dword [esp + 0x78]
mov ebp, edx
jmp 0x10136507
cmp esi, 0x7e000000
ja 0x1013670e
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp edx, 0x10000
adc ecx, 1
mov ebx, esi
mov esi, edx
mov eax, dword [ebp + 0x4008]
add dword [ebp + 0x4010], ebx
lea edx, [eax + ebx]
mov dword [ebp + 0x4008], edx
mov dword [ebp + 0x400c], ecx
imul ecx, dword [esi], 0x9e3779b1
shr ecx, 0x14
lea edx, [esi + ebx]
add edx, 0xfffffffb
cmp esi, 0x10000
jb 0x1013540e
mov dword [ebp + ecx*4], esi
jmp 0x10135412
cmp esi, 0x7e000000
ja 0x1013670e
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp edx, 0x10000
adc ecx, 1
mov edi, esi
mov esi, edx
mov eax, dword [ebp + 0x4008]
add dword [ebp + 0x4010], edi
lea edx, [eax + edi]
mov dword [ebp + 0x4008], edx
mov dword [ebp + 0x400c], ecx
imul ecx, dword [esi], 0x9e3779b1
shr ecx, 0x14
lea edx, [esi + edi]
add edx, 0xfffffffb
cmp esi, 0x10000
jb 0x10135a80
mov dword [ebp + ecx*4], esi
jmp 0x10135a84
mov dword [ebp + ecx*4], eax
mov ecx, esi
sub ecx, eax
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x7c]
lea eax, [esi + ecx]
mov dword [esp + 0x50], eax
mov ebx, dword [esp + 0x78]
mov eax, edi
add eax, ebx
add ecx, esi
add ecx, 0xfffffff5
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x3c]
shl ecx, 6
lea edi, [edx - 3]
mov dword [esp + 0x14], edi
mov dword [esp + 0x58], edx
dec edx
mov dword [esp + 0x54], edx
mov dword [esp + 0x48], ecx
inc ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x18], ebx
mov ebx, esi
mov dword [esp + 0x1c], eax
jmp 0x10135478
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x74]
imul ecx, dword [ebx + 1], 0x9e3779b1
lea edi, [ebx + 1]
shr ecx, 0x14
lea eax, [ebx + 2]
cmp esi, 0xffff
mov dword [esp + 8], ebx
jbe 0x101354f2
cmp eax, dword [esp + 4]
ja 0x101359f1
mov edx, dword [esp + 0x48]
mov esi, edi
jmp 0x101354c9
mov eax, edx
sar eax, 6
shr edi, 0x14
add eax, ebp
inc edx
mov ecx, edi
mov esi, ebp
cmp eax, dword [esp + 4]
ja 0x1013664c
mov ebp, eax
imul edi, dword [eax], 0x9e3779b1
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + ecx*4]
mov dword [eax + ecx*4], esi
lea ecx, [ebx + 0xffff]
cmp ecx, esi
jb 0x101354b0
mov eax, esi
mov ecx, dword [ebx]
cmp ecx, dword [esi]
jne 0x101354b0
jmp 0x10135571
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
cmp eax, dword [esp + 4]
jbe 0x10135536
jmp 0x1013664c
shr ebp, 0x14
mov eax, dword [esp + 0xc]
mov edi, dword [esp]
add eax, edi
lea ecx, [edx + 1]
shr edx, 6
mov esi, edx
mov edx, ecx
mov ecx, ebp
cmp eax, dword [esp + 4]
mov ebp, dword [esp + 0x24]
ja 0x1013664c
mov dword [esp + 0xc], esi
mov esi, dword [ebp + ecx*4]
mov ebx, edi
mov dword [esp], eax
imul ebp, dword [eax], 0x9e3779b1
sub ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov dword [eax + ecx*4], ebx
lea ecx, [esi + 0xffff]
cmp ecx, ebx
jb 0x10135510
mov eax, edi
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + esi]
cmp ecx, dword [edi]
jne 0x10135510
add esi, dword [esp + 0x20]
mov ebx, esi
mov dword [esp], eax
mov dword [esp + 0x28], ebx
mov edx, eax
mov ebx, dword [esp + 8]
sub edx, ebx
lea edi, [edx + 0xef]
lea ebp, [edx - 0xf]
mov ch, al
shl ch, 4
mov cl, bl
shl cl, 4
sub ch, cl
xor esi, esi
mov dword [esp + 0x38], ebp
nop dword [eax + eax]
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], ebp
mov byte [esp + 0x34], ch
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x28]
add eax, esi
mov dword [esp + 0xc], esi
mov ecx, dword [esp]
lea edx, [ecx + esi]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x74]
jbe 0x1013560b
cmp dword [esp + 0x2c], ebx
jbe 0x1013560b
mov eax, dword [esp + 0xc]
mov ecx, dword [esp]
movzx ecx, byte [ecx + eax - 1]
mov edx, dword [esp + 0x40]
lea edi, [edx - 1]
mov edx, dword [esp + 0x44]
lea ebp, [edx - 1]
lea esi, [eax - 1]
mov ch, byte [esp + 0x34]
add ch, 0xf0
mov edx, dword [esp + 0x30]
dec edx
mov ebx, dword [esp + 0x28]
cmp cl, byte [ebx + eax - 1]
mov ebx, dword [esp + 8]
je 0x101355a0
mov eax, dword [esp + 0x30]
mov edx, 0x80808081
mul edx
mov ecx, dword [esp]
sub ecx, ebx
mov esi, dword [esp + 0x18]
shr edx, 7
add edx, esi
add edx, ecx
mov edi, dword [esp + 0xc]
add edx, edi
add edx, 9
xor eax, eax
cmp edx, dword [esp + 0x1c]
ja 0x1013670e
mov edx, ecx
lea eax, [ecx + edi]
lea ebp, [esi + 1]
mov dword [esp], ebp
cmp eax, 0xf
jb 0x101356da
mov eax, dword [esp + 0x38]
add eax, edi
mov byte [esi], 0xf0
cmp eax, 0xff
mov ecx, edi
jl 0x101356ea
mov edi, dword [esp + 0x44]
cmp edi, 0x1fd
mov eax, 0x1fd
cmovge edi, eax
mov ebp, edx
mov eax, edx
sub eax, edi
add eax, ecx
add eax, 0xef
mov ecx, 0x80808081
mul ecx
shr edx, 7
mov dword [esp + 0x28], edx
lea eax, [edx + 1]
push eax
push 0xff
push dword [esp + 8]
call fcn.10368a10
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov eax, dword [esp + 0x40]
sub eax, edi
mov edx, 0x80808081
mul edx
mov eax, dword [esp + 0x28]
lea edi, [esi + eax]
add edi, 2
shr edx, 7
mov eax, edx
shl eax, 8
sub edx, eax
mov eax, ebp
add edx, ebp
add edx, ecx
add edx, 0xfffffef2
jmp 0x101356f3
movzx eax, byte [esp + 0x34]
mov byte [esi], al
mov ecx, edi
mov eax, edx
mov edi, dword [esp]
jmp 0x101356f6
mov ebp, eax
mov eax, edx
mov edi, dword [esp]
mov edx, ebp
mov byte [edi], dl
inc edi
add ecx, edi
add ecx, eax
lea ebp, [edi + 8]
cmp ecx, ebp
mov edx, ecx
mov eax, ebp
mov dword [esp + 0xc], ecx
cmova eax, ecx
mov ecx, edi
not edi
add eax, edi
mov dword [esp], eax
cmp eax, 0x18
jb 0x10135784
mov edx, ecx
sub edx, ebx
cmp edx, 0x20
jb 0x10135784
mov eax, dword [esp]
shr eax, 3
inc eax
mov dword [esp], eax
and eax, 0xfffffffc
mov esi, dword [esp + 0x30]
add esi, ecx
cmp esi, ebp
cmovbe esi, ebp
mov ebp, eax
lea eax, [ebx + eax*8]
lea edx, [ecx + ebp*8]
add edi, esi
shr edi, 3
inc edi
and edi, 0xfffffffc
mov esi, ebx
xor ebx, ebx
nop
movups xmm0, xmmword [esi + ebx*8]
movups xmm1, xmmword [esi + ebx*8 + 0x10]
movups xmmword [ecx + ebx*8], xmm0
movups xmmword [ecx + ebx*8 + 0x10], xmm1
add ebx, 4
cmp edi, ebx
jne 0x10135750
cmp dword [esp], ebp
mov esi, dword [esp + 0x18]
jne 0x10135788
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
jmp 0x101357b0
mov eax, ebx
mov edx, ecx
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
add edx, 8
add eax, 8
cmp edx, ecx
jb 0x10135790
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
nop word [eax + eax]
mov eax, ebx
sub eax, edx
mov dword [esp + 0xc], ecx
mov word [ecx], ax
lea ecx, [edx + 4]
mov eax, ebx
add ebx, 4
cmp dword [esp + 0x14], ebx
mov dword [esp + 8], eax
jbe 0x101359d2
mov ebp, eax
mov eax, edx
mov edx, dword [ebx]
xor edx, dword [ecx]
je 0x101357f0
tzcnt ebx, edx
shr ebx, 3
mov ebp, dword [esp + 0x24]
jmp 0x1013587f
mov dword [esp], ebx
lea ebx, [ebp + 8]
add eax, 8
mov ecx, eax
mov edi, esi
cmp ebx, dword [esp + 0x14]
jae 0x101359da
mov edx, ebx
sub edx, dword [esp + 8]
add edx, 0xfffffffc
mov ebp, dword [esp + 0x24]
nop word cs:[eax + eax]
mov esi, dword [ebx]
xor esi, dword [ecx]
jne 0x10135870
add ebx, 4
add ecx, 4
add edx, 4
cmp ebx, dword [esp + 0x14]
jb 0x10135820
cmp ebx, dword [esp + 0x54]
jae 0x10135849
movzx edx, word [ecx]
cmp dx, word [ebx]
jne 0x10135849
add ebx, 2
add ecx, 2
mov esi, edi
cmp ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x20]
jae 0x10135861
movzx ecx, byte [ecx]
xor edx, edx
cmp cl, byte [ebx]
sete dl
add ebx, edx
mov eax, dword [esp]
sub ebx, eax
jmp 0x1013587f
tzcnt ebx, esi
shr ebx, 3
add ebx, edx
mov esi, edi
mov edi, dword [esp + 0x20]
lea eax, [ebx + 0xf0]
mov ecx, 0x80808081
mul ecx
shr edx, 7
mov ecx, dword [esp + 0xc]
lea eax, [ecx + edx]
add eax, 8
cmp eax, dword [esp + 0x1c]
ja 0x10136716
lea eax, [ecx + 2]
movzx ecx, byte [esi]
cmp ebx, 0xf
jb 0x10135930
add cl, 0xf
mov byte [esi], cl
lea ecx, [ebx - 0xf]
mov dword [eax], 0xffffffff
cmp ecx, 0x3fc
jb 0x1013590f
lea eax, [ebx - 0x40b]
mov ecx, 0x80808081
mul ecx
mov edi, edx
mov esi, dword [esp + 0xc]
lea eax, [esi + 6]
shr edi, 9
lea ecx, [edi*4 + 4]
push ecx
push 0xff
push eax
call fcn.10368a10
add esp, 0xc
lea eax, [esi + edi*4]
add eax, 6
imul ecx, edi, 0xfffffc04
mov edi, dword [esp + 0x20]
add ecx, ebx
add ecx, 0xfffffbf5
movzx edx, cx
imul edx, edx, 0x8081
shr edx, 0x17
add ecx, edx
lea esi, [eax + edx]
inc esi
mov byte [eax + edx], cl
jmp 0x10135936
add cl, bl
mov byte [esi], cl
mov esi, eax
mov eax, dword [esp + 8]
add ebx, eax
add ebx, 4
cmp ebx, dword [esp + 4]
jae 0x101359ed
lea eax, [ebx - 2]
imul ecx, dword [ebx - 2], 0x9e3779b1
shr ecx, 0x14
cmp dword [esp + 0x74], 0xffff
jbe 0x10135990
mov dword [ebp + ecx*4], eax
imul eax, dword [ebx], 0x9e3779b1
shr eax, 0x14
mov edx, dword [ebp + eax*4]
mov dword [ebp + eax*4], ebx
lea eax, [edx + 0xffff]
cmp eax, ebx
jb 0x10135470
mov eax, dword [edx]
cmp eax, dword [ebx]
je 0x101359c7
jmp 0x10135470
sub eax, edi
mov dword [ebp + ecx*4], eax
imul ecx, dword [ebx], 0x9e3779b1
shr ecx, 0x14
mov eax, dword [ebp + ecx*4]
mov edx, ebx
sub edx, edi
mov dword [ebp + ecx*4], edx
lea ecx, [eax + 0xffff]
cmp ecx, edx
jb 0x10135470
lea edx, [edi + eax]
mov eax, dword [edi + eax]
cmp eax, dword [ebx]
jne 0x10135470
lea ecx, [esi + 1]
mov byte [esi], 0
jmp 0x101357b0
mov dword [esp], ebx
jmp 0x101357fb
mov ebp, dword [esp + 0x24]
cmp ebx, dword [esp + 0x54]
jb 0x1013583b
jmp 0x10135849
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x50]
sub esi, ebx
mov eax, dword [esp + 0x18]
lea ecx, [eax + esi]
lea eax, [esi + 0xf0]
mov edx, 0x80808081
mul edx
shr edx, 7
add ecx, edx
inc ecx
xor eax, eax
cmp ecx, dword [esp + 0x1c]
ja 0x1013670e
mov ebp, ebx
cmp esi, 0xf
jb 0x1013660f
lea eax, [esi - 0xf]
mov ebx, dword [esp + 0x18]
mov byte [ebx], 0xf0
lea ecx, [ebx + 1]
cmp eax, 0xff
jb 0x1013663f
lea eax, [esi - 0x10e]
mov edx, 0x80808081
mul edx
mov edi, edx
shr edi, 7
lea eax, [edi + 1]
push eax
push 0xff
push ecx
call fcn.10368a10
add esp, 0xc
mov eax, edi
shl eax, 8
lea ecx, [edi + ebx]
add ecx, 2
sub edi, eax
mov ebx, esi
lea eax, [esi + edi]
add eax, 0xfffffef2
jmp 0x10136641
mov dword [ebp + ecx*4], eax
mov ecx, esi
sub ecx, eax
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x7c]
lea ecx, [esi + eax]
mov dword [esp + 0x50], ecx
add eax, esi
add eax, 0xfffffff5
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
shl eax, 6
lea ecx, [edx - 3]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x58], edx
lea ecx, [edx - 1]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x48], eax
inc eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x10], eax
mov ebx, esi
jmp 0x10135ad8
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x74]
imul ecx, dword [ebx + 1], 0x9e3779b1
lea edi, [ebx + 1]
shr ecx, 0x14
lea eax, [ebx + 2]
cmp esi, 0xffff
mov dword [esp + 0x1c], ebx
jbe 0x10135b52
cmp eax, dword [esp + 0xc]
ja 0x10136679
mov edx, dword [esp + 0x48]
mov esi, edi
jmp 0x10135b29
mov eax, edx
sar eax, 6
shr edi, 0x14
add eax, ebp
inc edx
mov ecx, edi
mov esi, ebp
cmp eax, dword [esp + 0xc]
ja 0x1013667f
mov ebp, eax
imul edi, dword [eax], 0x9e3779b1
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + ecx*4]
mov dword [eax + ecx*4], esi
lea ecx, [ebx + 0xffff]
cmp ecx, esi
jb 0x10135b10
mov eax, esi
mov ecx, dword [ebx]
cmp ecx, dword [esi]
jne 0x10135b10
jmp 0x10135bd3
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
cmp eax, dword [esp + 0xc]
mov esi, edi
jbe 0x10135b94
jmp 0x10136675
shr ebp, 0x14
mov eax, dword [esp]
add eax, edi
lea ecx, [edx + 1]
shr edx, 6
mov ebx, edx
mov edx, ecx
mov ecx, ebp
mov esi, edi
cmp eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x24]
ja 0x10136675
mov dword [esp], ebx
mov edi, eax
mov eax, dword [ebp + ecx*4]
mov dword [esp + 4], eax
mov ebx, esi
mov eax, ebp
imul ebp, dword [edi], 0x9e3779b1
sub ebx, dword [esp + 0x20]
mov dword [eax + ecx*4], ebx
mov eax, esi
mov esi, dword [esp + 4]
lea ecx, [esi + 0xffff]
cmp ecx, ebx
jb 0x10135b70
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + esi]
cmp ecx, dword [eax]
jne 0x10135b70
add esi, dword [esp + 0x20]
mov ebx, esi
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov ecx, eax
mov ebx, dword [esp + 0x1c]
sub ecx, ebx
lea esi, [ecx + 0xef]
lea ebp, [ecx - 0xf]
mov dh, al
shl dh, 4
mov dl, bl
shl dl, 4
sub dh, dl
xor edi, edi
mov dword [esp + 0x38], ebp
nop
mov dword [esp + 0x28], esi
mov dword [esp + 0x34], ebp
mov dl, dh
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 4]
add eax, edi
mov dword [esp], edi
mov ecx, dword [esp + 8]
add ecx, edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x74]
jbe 0x10135c76
cmp dword [esp + 0x30], ebx
jbe 0x10135c76
mov eax, dword [esp]
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx + eax - 1]
mov byte [esp + 0x40], cl
mov ecx, dword [esp + 0x28]
lea esi, [ecx - 1]
mov ecx, dword [esp + 0x34]
lea ebp, [ecx - 1]
lea edi, [eax - 1]
mov dh, dl
add dh, 0xf0
mov ecx, dword [esp + 0x2c]
dec ecx
mov ebx, dword [esp + 4]
mov byte [esp + 0x44], dl
mov dl, byte [esp + 0x40]
cmp dl, byte [ebx + eax - 1]
mov dl, byte [esp + 0x44]
mov ebx, dword [esp + 0x1c]
je 0x10135c00
mov ebp, dword [esp + 8]
sub ebp, ebx
mov edi, dword [esp]
lea eax, [edi + ebp]
mov esi, dword [esp + 0x10]
lea ecx, [esi + 1]
cmp eax, 0xf
mov ebx, ebp
jb 0x10135d1d
mov eax, dword [esp + 0x38]
add eax, edi
mov byte [esi], 0xf0
cmp eax, 0xff
mov ebp, dword [esp + 0x24]
jl 0x10135d18
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x34]
cmp ebx, 0x1fd
mov eax, 0x1fd
cmovge ebx, eax
mov eax, dword [esp + 8]
sub eax, ebx
add eax, edi
add eax, 0xef
mov edi, 0x80808081
mul edi
shr edx, 7
mov dword [esp + 4], edx
lea eax, [edx + 1]
push eax
push 0xff
push ecx
call fcn.10368a10
add esp, 0xc
mov eax, dword [esp + 0x28]
sub eax, ebx
mov ebx, dword [esp + 8]
mul edi
mov edi, dword [esp]
mov eax, dword [esp + 4]
lea ecx, [esi + eax]
add ecx, 2
shr edx, 7
mov eax, edx
shl eax, 8
sub edx, eax
add edx, ebx
lea eax, [edi + edx]
add eax, 0xfffffef2
mov byte [ecx], al
inc ecx
jmp 0x10135d23
mov byte [esi], dl
mov ebp, dword [esp + 0x24]
add edi, ecx
add edi, ebx
lea eax, [ecx + 8]
cmp edi, eax
mov esi, eax
cmova esi, edi
mov ebx, ecx
not ebx
add esi, ebx
cmp esi, 0x18
jb 0x10135db4
mov dword [esp], edi
mov edx, ecx
mov edi, dword [esp + 0x1c]
sub edx, edi
cmp edx, 0x20
jb 0x10135dbc
shr esi, 3
inc esi
mov edx, esi
and edx, 0xfffffffc
mov ebp, dword [esp + 0x2c]
add ebp, ecx
cmp ebp, eax
cmovbe ebp, eax
lea eax, [edi + edx*8]
mov dword [esp + 4], edx
lea edx, [ecx + edx*8]
add ebx, ebp
shr ebx, 3
inc ebx
and ebx, 0xfffffffc
xor ebp, ebp
nop word cs:[eax + eax]
movups xmm0, xmmword [edi + ebp*8]
movups xmm1, xmmword [edi + ebp*8 + 0x10]
movups xmmword [ecx + ebp*8], xmm0
movups xmmword [ecx + ebp*8 + 0x10], xmm1
add ebp, 4
cmp ebx, ebp
jne 0x10135d80
cmp esi, dword [esp + 4]
mov ebp, dword [esp + 0x24]
mov edi, dword [esp]
jne 0x10135dc3
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
jmp 0x10135df0
mov eax, dword [esp + 0x1c]
mov edx, ecx
jmp 0x10135dc3
mov eax, edi
mov edx, ecx
mov edi, dword [esp]
mov esi, dword [esp + 0x10]
nop word [eax + eax]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
add edx, 8
add eax, 8
cmp edx, edi
jb 0x10135dd0
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
nop word [eax + eax]
mov dword [esp + 0x10], esi
mov eax, ebx
sub eax, ecx
mov word [edi], ax
lea eax, [edi + 2]
mov dword [esp + 4], eax
mov eax, ecx
lea edx, [ecx + 4]
lea ecx, [ebx + 4]
cmp dword [esp + 0x14], ecx
jbe 0x10135fe6
mov esi, dword [ecx]
xor esi, dword [edx]
je 0x10135e40
mov edi, ebx
tzcnt ebx, esi
shr ebx, 3
mov ecx, ebx
or ecx, 4
add edi, ecx
mov esi, dword [esp + 0x10]
movzx ecx, byte [esi]
mov eax, dword [esp + 4]
jmp 0x10135f40
mov dword [esp], edi
mov edi, ebx
add ebx, 8
add eax, 8
mov edx, eax
cmp ebx, dword [esp + 0x14]
jae 0x10135ff7
mov eax, dword [esp + 4]
nop dword [eax + eax]
mov esi, dword [ebx]
xor esi, dword [edx]
jne 0x10135eb0
add ebx, 4
add edx, 4
cmp ebx, dword [esp + 0x14]
jb 0x10135e60
cmp ebx, dword [esp + 0x54]
jae 0x10135e86
movzx esi, word [edx]
cmp si, word [ebx]
jne 0x10135e86
add ebx, 2
add edx, 2
mov esi, dword [esp + 0x10]
cmp ebx, dword [esp + 0x58]
jae 0x10135ebd
movzx edx, byte [edx]
mov byte [esp + 4], dl
movzx edx, byte [esp + 4]
cmp dl, byte [ebx]
mov edx, 0
sete dl
add ebx, edx
jmp 0x10135ebd
tzcnt edx, esi
shr edx, 3
add ebx, edx
mov esi, dword [esp + 0x10]
sub ebx, ecx
add edi, ebx
add edi, 4
movzx ecx, byte [esi]
cmp ebx, 0xf
jb 0x10135f40
add cl, 0xf
mov byte [esi], cl
lea ecx, [ebx - 0xf]
mov dword [eax], 0xffffffff
cmp ecx, 0x3fc
jb 0x10135f27
lea eax, [ebx - 0x40b]
mov ecx, 0x80808081
mul ecx
mov esi, edx
mov eax, dword [esp]
add eax, 6
shr esi, 9
lea ecx, [esi*4 + 4]
push ecx
push 0xff
push eax
call fcn.10368a10
add esp, 0xc
mov eax, dword [esp]
lea eax, [eax + esi*4]
add eax, 6
imul ecx, esi, 0xfffffc04
add ecx, ebx
add ecx, 0xfffffbf5
movzx edx, cx
imul edx, edx, 0x8081
shr edx, 0x17
add ecx, edx
lea esi, [eax + edx]
inc esi
mov byte [eax + edx], cl
jmp 0x10135f46
add bl, cl
mov byte [esi], bl
mov esi, eax
mov ebx, edi
cmp edi, dword [esp + 0xc]
jae 0x10136687
lea eax, [ebx - 2]
imul ecx, dword [ebx - 2], 0x9e3779b1
shr ecx, 0x14
cmp dword [esp + 0x74], 0xffff
jbe 0x10135fa0
mov dword [ebp + ecx*4], eax
imul eax, dword [ebx], 0x9e3779b1
shr eax, 0x14
mov ecx, dword [ebp + eax*4]
mov dword [ebp + eax*4], ebx
lea eax, [ecx + 0xffff]
cmp eax, ebx
jb 0x10135ad0
mov eax, dword [ecx]
cmp eax, dword [ebx]
je 0x10135fdb
jmp 0x10135ad0
mov edi, dword [esp + 0x20]
sub eax, edi
mov dword [ebp + ecx*4], eax
imul ecx, dword [ebx], 0x9e3779b1
shr ecx, 0x14
mov eax, dword [ebp + ecx*4]
mov edx, ebx
sub edx, edi
mov dword [ebp + ecx*4], edx
lea ecx, [eax + 0xffff]
cmp ecx, edx
jb 0x10135ad0
lea ecx, [edi + eax]
mov eax, dword [edi + eax]
cmp eax, dword [ebx]
jne 0x10135ad0
lea edi, [esi + 1]
mov byte [esi], 0
jmp 0x10135df0
mov dword [esp], edi
mov edi, ebx
mov ebx, ecx
cmp ebx, dword [esp + 0x14]
jb 0x10135e57
mov eax, dword [esp + 4]
cmp ebx, dword [esp + 0x54]
jb 0x10135e78
jmp 0x10135e86
test edi, edi
jle 0x1013670e
mov eax, dword [esp + 0x78]
mov byte [eax], 0
mov eax, 1
jmp 0x1013670e
mov ecx, edx
sub ecx, eax
mov dword [esp], ecx
lea ecx, [edx + edi]
add ecx, 0xfffffff5
mov dword [esp + 0x20], ecx
add edi, edx
add edi, 0xfffffffb
imul ecx, dword [edx], 0x9e3779b1
shr ecx, 0x13
mov word [ebp + ecx*2], ax
mov ecx, esi
shl ecx, 6
lea eax, [edi - 3]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x4c], edi
lea eax, [edi - 1]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 0x3c], ecx
lea eax, [edx + 1]
mov dword [esp + 0x10], edx
mov edx, dword [edx + 1]
mov dword [esp + 0xc], edx
mov edi, 1
mov edx, ecx
nop
mov ebx, eax
mov eax, edi
add eax, ebx
cmp eax, dword [esp + 0x20]
ja 0x1013671a
imul edi, dword [esp + 0xc], 0x9e3779b1
shr edi, 0x13
movzx ecx, word [ebp + edi*2]
mov dword [esp + 4], ecx
mov ebp, ebx
mov esi, dword [esp]
sub ebp, esi
mov ecx, dword [eax]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x24]
mov word [ebx + edi*2], bp
mov ebx, dword [esp + 0x14]
mov edi, edx
shr edi, 6
inc edx
mov ecx, dword [esp + 4]
mov ebp, dword [esi + ecx]
cmp ebp, dword [ebx]
mov ebp, dword [esp + 0x24]
jne 0x10136080
mov esi, ecx
add esi, dword [esp]
mov dword [esp + 4], esi
mov eax, ebx
mov ecx, dword [esp + 0x10]
sub eax, ecx
lea esi, [eax + 0xef]
lea ebp, [eax - 0xf]
mov dh, bl
shl dh, 4
mov dl, cl
shl dl, 4
sub dh, dl
xor edi, edi
mov dword [esp + 0x38], ebp
nop word cs:[eax + eax]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], ebp
mov ebx, edi
mov dl, dh
mov dword [esp + 0x30], eax
mov eax, dword [esp + 4]
add eax, edi
mov ecx, dword [esp + 0x14]
add ecx, edi
mov dword [esp + 0xc], eax
cmp eax, dword [esp + 0x74]
jbe 0x10136180
cmp ecx, dword [esp + 0x10]
jbe 0x10136180
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + ebx - 1]
mov byte [esp + 0x40], al
mov eax, dword [esp + 0x2c]
dec eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x28]
lea ebp, [eax - 1]
lea edi, [ebx - 1]
mov dh, dl
add dh, 0xf0
mov eax, dword [esp + 0x30]
dec eax
mov esi, dword [esp + 4]
mov byte [esp + 0x44], dl
mov dl, byte [esp + 0x40]
cmp dl, byte [esi + ebx - 1]
mov dl, byte [esp + 0x44]
mov esi, dword [esp + 0x34]
je 0x10136110
mov esi, ebx
mov dword [esp + 4], ecx
mov eax, ecx
sub eax, dword [esp + 0x10]
mov ebx, dword [esp + 8]
lea ecx, [ebx + 1]
cmp eax, 0xf
jb 0x10136236
mov eax, dword [esp + 0x38]
add eax, esi
mov byte [ebx], 0xf0
cmp eax, 0xff
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
jl 0x1013622f
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x28]
cmp ebx, 0x1fd
mov eax, 0x1fd
cmovge ebx, eax
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x10]
mov dword [esp + 0x28], eax
sub eax, ebx
add eax, esi
add eax, 0xef
mov edx, 0x80808081
mul edx
shr edx, 7
mov dword [esp + 0x34], edx
lea eax, [edx + 1]
push eax
push 0xff
push ecx
call fcn.10368a10
add esp, 0xc
mov eax, dword [esp + 0x2c]
sub eax, ebx
mov ecx, 0x80808081
mul ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x34]
add ecx, eax
add ecx, 2
shr edx, 7
mov eax, edx
shl eax, 8
sub edx, eax
add edx, dword [esp + 0x28]
lea eax, [esi + edx]
add eax, 0xfffffef2
mov edx, esi
mov byte [ecx], al
inc ecx
jmp 0x10136242
mov byte [ebx], dl
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov edx, esi
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
sub eax, esi
add edx, ecx
add edx, eax
lea eax, [ecx + 8]
cmp edx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], edx
cmova eax, edx
mov ebx, ecx
not ebx
add eax, ebx
mov dword [esp + 0x2c], eax
cmp eax, 0x18
jb 0x101362dd
mov edx, ecx
sub edx, esi
cmp edx, 0x20
jb 0x101362dd
mov edi, dword [esp + 0x2c]
shr edi, 3
inc edi
mov dword [esp + 0x2c], edi
and edi, 0xfffffffc
mov ebp, dword [esp + 0x30]
add ebp, ecx
mov eax, dword [esp + 0x28]
cmp ebp, eax
cmovbe ebp, eax
lea eax, [esi + edi*8]
lea edx, [ecx + edi*8]
add ebx, ebp
shr ebx, 3
inc ebx
and ebx, 0xfffffffc
xor ebp, ebp
nop word [eax + eax]
movups xmm0, xmmword [esi + ebp*8]
movups xmm1, xmmword [esi + ebp*8 + 0x10]
movups xmmword [ecx + ebp*8], xmm0
movups xmmword [ecx + ebp*8 + 0x10], xmm1
add ebp, 4
cmp ebx, ebp
jne 0x101362b0
cmp dword [esp + 0x2c], edi
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
jne 0x101362f0
jmp 0x10136302
mov eax, esi
mov edx, ecx
mov ecx, dword [esp + 0x14]
nop word cs:[eax + eax]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
add edx, 8
add eax, 8
cmp edx, ecx
jb 0x101362f0
mov ebx, dword [esp + 4]
nop word cs:[eax + eax]
mov eax, ebx
mov edx, dword [esp + 0xc]
sub eax, edx
mov word [ecx], ax
mov dword [esp + 0x14], ecx
lea eax, [ecx + 2]
add edx, 4
lea ecx, [ebx + 4]
cmp edi, ecx
jbe 0x101364e3
mov esi, dword [ecx]
xor esi, dword [edx]
je 0x10136360
mov edx, ebx
tzcnt ebx, esi
shr ebx, 3
mov ecx, ebx
or ecx, 4
add edx, ecx
mov dword [esp + 4], edx
mov esi, dword [esp + 8]
movzx ecx, byte [esi]
jmp 0x10136430
mov edx, ebx
mov dword [esp + 4], ebx
add ebx, 8
mov edx, dword [esp + 0xc]
add edx, 8
cmp ebx, edi
jae 0x1013649e
mov esi, dword [ebx]
xor esi, dword [edx]
jne 0x10136390
add ebx, 4
add edx, 4
jmp 0x10136370
tzcnt edx, esi
shr edx, 3
add ebx, edx
mov esi, dword [esp + 8]
sub ebx, ecx
mov ecx, dword [esp + 4]
add ecx, ebx
add ecx, 4
mov dword [esp + 4], ecx
movzx ecx, byte [esi]
cmp ebx, 0xf
jb 0x10136430
add cl, 0xf
mov byte [esi], cl
lea ecx, [ebx - 0xf]
mov dword [eax], 0xffffffff
cmp ecx, 0x3fc
jb 0x1013640d
lea eax, [ebx - 0x40b]
mov ecx, 0x80808081
mul ecx
mov esi, edx
mov edi, dword [esp + 0x14]
lea eax, [edi + 6]
shr esi, 9
lea ecx, [esi*4 + 4]
push ecx
push 0xff
push eax
call fcn.10368a10
add esp, 0xc
lea eax, [edi + esi*4]
add eax, 6
imul ecx, esi, 0xfffffc04
add ecx, ebx
add ecx, 0xfffffbf5
movzx edx, cx
imul edx, edx, 0x8081
shr edx, 0x17
add ecx, edx
mov byte [eax + edx], cl
add eax, edx
inc eax
jmp 0x10136434
add bl, cl
mov byte [esi], bl
mov ebx, dword [esp + 4]
cmp ebx, dword [esp + 0x20]
jae 0x10136503
mov dword [esp + 0x14], eax
lea ecx, [ebx - 2]
imul edx, dword [ebx - 2], 0x9e3779b1
mov edi, dword [esp]
sub ecx, edi
shr edx, 0x13
mov word [ebp + edx*2], cx
imul ecx, dword [ebx], 0x9e3779b1
shr ecx, 0x13
movzx edx, word [ebp + ecx*2]
mov esi, ebx
sub esi, edi
lea eax, [edi + edx]
mov dword [esp + 0xc], eax
mov eax, ebp
mov word [ebp + ecx*2], si
mov ecx, dword [edi + edx]
cmp ecx, dword [ebx]
jne 0x101364ee
mov ebp, dword [esp + 0x14]
lea ecx, [ebp + 1]
mov byte [ebp], 0
mov dword [esp + 8], ebp
mov edi, dword [esp + 0x1c]
mov ebp, eax
jmp 0x10136310
cmp ebx, dword [esp + 0x48]
jae 0x101364b8
movzx esi, word [edx]
cmp si, word [ebx]
mov esi, dword [esp + 8]
jne 0x101364bc
add ebx, 2
add edx, 2
jmp 0x101364bc
mov esi, dword [esp + 8]
cmp ebx, dword [esp + 0x4c]
jae 0x1013639d
movzx edx, byte [edx]
mov byte [esp + 0xc], dl
movzx edx, byte [esp + 0xc]
cmp dl, byte [ebx]
mov edx, 0
sete dl
add ebx, edx
jmp 0x1013639d
mov dword [esp + 4], ebx
mov ebx, ecx
jmp 0x10136370
mov ecx, dword [esp + 0x14]
mov dword [esp + 8], ecx
mov edx, ebx
mov ecx, dword [esp + 0x3c]
mov ebp, eax
jmp 0x1013606a
mov edi, eax
mov ebp, ebx
mov ecx, dword [esp + 0x18]
sub ecx, ebp
cmp ecx, 0xf
jb 0x1013656a
lea eax, [ecx - 0xf]
mov byte [edi], 0xf0
mov ebx, edi
mov edi, ecx
lea ecx, [ebx + 1]
cmp eax, 0xff
jb 0x1013661e
lea eax, [edi - 0x10e]
mov edx, 0x80808081
mul edx
mov esi, edx
shr esi, 7
lea eax, [esi + 1]
push eax
push 0xff
push ecx
call fcn.10368a10
add esp, 0xc
mov eax, esi
shl eax, 8
lea ecx, [esi + ebx]
add ecx, 2
sub esi, eax
mov edx, edi
lea eax, [edi + esi]
add eax, 0xfffffef2
jmp 0x10136620
mov eax, ecx
shl al, 4
mov byte [edi], al
jmp 0x10136626
mov edx, eax
mov ecx, edi
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x7c]
add esi, edi
mov dword [esp + 0x18], ecx
sub esi, ecx
mov ebp, edx
lea ecx, [edx + esi]
lea eax, [esi + 0xf0]
mov edx, 0x80808081
mul edx
shr edx, 7
lea eax, [edx + ecx]
inc eax
cmp eax, ebx
mov eax, 0
ja 0x1013670e
cmp esi, 0xf
jb 0x10136631
mov edi, esi
lea eax, [esi - 0xf]
mov byte [ebp], 0xf0
lea ecx, [ebp + 1]
cmp eax, 0xff
jb 0x10136655
lea eax, [edi - 0x10e]
mov edx, 0x80808081
mul edx
mov ebx, ebp
mov esi, edx
shr esi, 7
lea eax, [esi + 1]
push eax
push 0xff
push ecx
call fcn.10368a10
add esp, 0xc
mov eax, esi
shl eax, 8
lea ecx, [esi + ebp]
add ecx, 2
sub esi, eax
mov ebx, edi
lea eax, [edi + esi]
add eax, 0xfffffef2
jmp 0x10136657
mov ebx, esi
mov eax, ebx
shl al, 4
mov esi, dword [esp + 0x18]
mov byte [esi], al
jmp 0x10136645
mov edx, edi
mov byte [ecx], al
mov edi, ecx
mov ecx, edx
lea eax, [edi + 1]
push ecx
push ebp
push eax
jmp 0x101366fc
mov ebx, esi
mov eax, ebx
shl al, 4
mov esi, ebp
mov byte [ebp], al
jmp 0x1013665b
mov ebx, esi
mov byte [ecx], al
mov esi, ecx
lea eax, [esi + 1]
push ebx
push ebp
jmp 0x10136663
mov ebx, dword [esp + 8]
jmp 0x101359f1
mov ebx, edi
mov byte [ecx], al
mov esi, ecx
lea eax, [esi + 1]
push ebx
push dword [esp + 0x1c]
push eax
call fcn.10368490
add esp, 0xc
lea eax, [esi + ebx]
inc eax
jmp 0x1013670a
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
jmp 0x10136687
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
sub ecx, ebx
cmp ecx, 0xf
jb 0x101366e3
lea eax, [ecx - 0xf]
mov byte [esi], 0xf0
mov edi, ecx
lea ecx, [esi + 1]
cmp eax, 0xff
jb 0x101366ec
lea eax, [edi - 0x10e]
mov edx, 0x80808081
mul edx
mov ebp, esi
mov esi, edx
shr esi, 7
lea eax, [esi + 1]
push eax
push 0xff
push ecx
call fcn.10368a10
add esp, 0xc
mov eax, esi
shl eax, 8
lea ecx, [esi + ebp]
add ecx, 2
sub esi, eax
mov edx, edi
lea eax, [edi + esi]
add eax, 0xfffffef2
jmp 0x101366ee
mov eax, ecx
shl al, 4
mov byte [esi], al
jmp 0x101366f4
mov edx, edi
mov byte [ecx], al
mov esi, ecx
mov ecx, edx
lea eax, [esi + 1]
push ecx
push ebx
push eax
mov edi, esi
mov esi, ecx
call fcn.10368490
add esp, 0xc
lea eax, [edi + esi]
inc eax
sub eax, dword [esp + 0x78]
add esp, 0x5c
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
jmp 0x1013670e
mov edi, dword [esp + 8]
mov ebp, dword [esp + 0x10]
jmp 0x10136507
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x7c]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
jmp 0x10136586