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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
lea eax, [esp + 0x48]
push 6
push str..llvm.
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.100e2350
add esp, 0x14
cmp dword [esp + 0x48], 1
jne 0x100d93b5
mov eax, dword [esp + 0x84]
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x7c]
lea ecx, [eax - 1]
cmp esi, 0xffffffff
mov dword [esp + 0xc], esi
mov dword [esp + 0x18], eax
mov dword [esp], ebx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 4], ecx
lea ecx, [eax + edx - 1]
je 0x100d965e
cmp ecx, ebx
jae 0x100d98ff
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x58]
sub eax, edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x34], esi
neg esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x10], eax
jmp 0x100d954b
mov esi, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dl, byte [esp + 0x54]
mov edi, dword [esp + 0x4c]
lea eax, [esi + ecx]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
jmp 0x100d93e2
add edi, eax
test dl, dl
mov dh, dl
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x44], edi
mov dword [esp + 0x14], ecx
sete dl
test edi, edi
je 0x100d9411
cmp ecx, edi
je 0x100d9411
jbe 0x100da153
cmp byte [esi + edi], 0xbf
jle 0x100da153
cmp ecx, edi
mov ebx, 0x110000
je 0x100d94c2
lea eax, [esi + edi]
mov byte [esp], dl
mov dl, byte [eax]
movzx ebx, dl
test dl, dl
jns 0x100d94bf
lea esi, [eax + 1]
cmp esi, dword [esp + 8]
je 0x100d948b
movzx esi, byte [eax + 1]
add eax, 2
and esi, 0x3f
and ebx, 0x1f
cmp dl, 0xdf
jbe 0x100d9499
cmp eax, dword [esp + 8]
je 0x100d949e
mov dword [esp + 0xc], esi
movzx esi, byte [eax]
inc eax
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0xc]
and dword [esp + 0x18], 0x3f
shl esi, 6
add esi, dword [esp + 0x18]
cmp dl, 0xf0
jb 0x100d94b6
cmp eax, dword [esp + 8]
mov dl, byte [esp]
je 0x100d950b
movzx eax, byte [eax]
and eax, 0x3f
jmp 0x100d950d
mov eax, dword [esp + 8]
xor esi, esi
and ebx, 0x1f
cmp dl, 0xdf
ja 0x100d944c
shl ebx, 6
jmp 0x100d94b9
mov eax, dword [esp + 8]
mov dword [esp + 0x18], 0
shl esi, 6
add esi, dword [esp + 0x18]
cmp dl, 0xf0
jae 0x100d9473
shl ebx, 0xc
or ebx, esi
mov esi, dword [esp + 4]
mov dl, byte [esp]
test dh, dh
jne 0x100d977f
cmp ebx, 0x110000
je 0x100d98ff
mov eax, 1
cmp ebx, 0x80
jb 0x100d93e0
mov eax, 2
cmp ebx, 0x800
jb 0x100d93e0
cmp ebx, 0x10000
mov eax, 4
sbb eax, 0
jmp 0x100d93e0
xor eax, eax
and ebx, 7
shl esi, 6
shl ebx, 0x12
or esi, ebx
or esi, eax
mov ebx, esi
mov esi, dword [esp + 4]
test dh, dh
je 0x100d94ca
jmp 0x100d977f
add edx, dword [esp + 0x18]
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x30]
lea ecx, [edx + eax]
cmp ecx, ebx
jae 0x100d9651
mov eax, dword [esp + 8]
mov esi, 1
mov edi, 1
mov cl, byte [eax + ecx]
xor eax, eax
shld eax, esi, cl
shl edi, cl
test cl, 0x20
mov ecx, 0
cmovne eax, edi
cmovne edi, ecx
and eax, dword [esp + 0x10]
and edi, dword [esp + 0x38]
or edi, eax
je 0x100d9530
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x18]
cmp eax, ebx
cmova ebx, eax
lea ecx, [edx + ebx]
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ebx, esi
jae 0x100d95f0
cmp ecx, dword [esp]
jae 0x100da140
mov eax, dword [esp + 4]
mov edi, dword [esp + 8]
movzx eax, byte [eax + ebx]
inc ebx
cmp al, byte [edi + ecx]
lea ecx, [ecx + 1]
je 0x100d95a0
add ecx, dword [esp + 0x40]
mov ebx, dword [esp]
mov dword [esp + 0xc], 0
mov edx, ecx
mov eax, dword [esp + 0x30]
lea ecx, [edx + eax]
cmp ecx, ebx
jb 0x100d954b
jmp 0x100d9651
mov ecx, dword [esp + 0x34]
nop word cs:[eax + eax]
nop
cmp dword [esp + 0xc], ecx
jae 0x100d9767
dec ecx
cmp ecx, esi
jae 0x100da176
lea ebx, [ecx + edx]
cmp ebx, dword [esp]
jae 0x100da19a
mov eax, dword [esp + 4]
mov edi, dword [esp + 8]
movzx eax, byte [eax + ecx]
cmp al, byte [edi + ebx]
je 0x100d9600
mov eax, dword [esp + 0x88]
add edx, dword [esp + 0x3c]
mov ebx, dword [esp]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x30]
lea ecx, [edx + eax]
cmp ecx, ebx
jb 0x100d954b
mov eax, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
jmp 0x100d98fb
cmp ecx, ebx
jae 0x100d98ff
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 8]
lea eax, [eax + ebx]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 4]
add eax, ebx
mov dword [esp + 0x38], eax
jmp 0x100d96b3
add edi, dword [esp + 0x18]
mov edx, edi
mov eax, dword [esp + 0x30]
lea ecx, [edx + eax]
cmp ecx, dword [esp]
jae 0x100d98fb
mov eax, dword [esp + 8]
xor esi, esi
mov edi, 1
mov cl, byte [eax + ecx]
mov eax, 1
shld esi, eax, cl
shl edi, cl
test cl, 0x20
mov eax, 0
cmovne esi, edi
cmovne edi, eax
and esi, dword [esp + 0x40]
and edi, dword [esp + 0x34]
or edi, esi
mov edi, edx
je 0x100d969d
xor ecx, ecx
mov edx, edi
nop dword [eax + eax]
mov eax, dword [esp + 0x18]
lea esi, [ebx + ecx]
cmp esi, eax
jae 0x100d971e
lea esi, [ebx + edx]
cmp esi, dword [esp]
jae 0x100da187
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0xc]
movzx eax, byte [eax + ecx]
inc ecx
cmp al, byte [esi + edx]
lea edx, [edx + 1]
je 0x100d96f0
jmp 0x100d96a3
mov esi, eax
mov ecx, ebx
nop word cs:[eax + eax]
nop dword [eax]
test ecx, ecx
je 0x100d9779
dec ecx
cmp ecx, esi
jae 0x100da176
lea edx, [ecx + edi]
cmp edx, dword [esp]
jae 0x100da1ad
mov eax, dword [esp + 4]
mov ebx, dword [esp + 8]
movzx eax, byte [eax + ecx]
cmp al, byte [ebx + edx]
mov ebx, dword [esp + 0x10]
je 0x100d9730
add edi, dword [esp + 0x3c]
jmp 0x100d96a1
add esi, edx
mov edi, edx
mov dword [esp + 0x64], esi
mov dword [esp + 0x6c], 0
jmp 0x100d977f
add esi, edi
mov dword [esp + 0x64], esi
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov eax, edi
add eax, 6
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], edx
je 0x100d97b1
cmp eax, dword [ebp + 0x10]
je 0x100d97b1
jae 0x100da1c0
cmp byte [ecx + eax], 0xbf
jle 0x100da1c0
cmp eax, dword [ebp + 0x10]
je 0x100d98c1
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
lea esi, [ecx + edx]
add eax, ecx
mov dword [esp], esi
jmp 0x100d97d8
cmp eax, esi
je 0x100d98c1
movzx ebx, byte [eax]
lea ecx, [eax + 1]
movzx edx, bl
test bl, bl
js 0x100d9810
mov eax, ecx
lea ecx, [edx - 0x41]
cmp ecx, 6
jb 0x100d97d0
cmp edx, 0x40
je 0x100d97d0
add edx, 0xffffffd0
cmp edx, 9
jbe 0x100d97d0
jmp 0x100d98ff
cmp ecx, esi
je 0x100d984e
movzx esi, byte [eax + 1]
add eax, 2
and esi, 0x3f
and edx, 0x1f
cmp bl, 0xdf
jbe 0x100d985c
mov ecx, dword [esp]
cmp eax, ecx
je 0x100d9861
movzx ecx, byte [eax]
inc eax
and ecx, 0x3f
shl esi, 6
or esi, ecx
cmp bl, 0xf0
jb 0x100d986f
mov ecx, dword [esp]
cmp eax, ecx
je 0x100d9888
movzx ebx, byte [eax]
inc eax
and ebx, 0x3f
jmp 0x100d988c
mov ecx, esi
xor esi, esi
mov eax, ecx
and edx, 0x1f
cmp bl, 0xdf
ja 0x100d9826
shl edx, 6
jmp 0x100d9872
mov eax, ecx
xor ecx, ecx
shl esi, 6
or esi, ecx
cmp bl, 0xf0
jae 0x100d983e
shl edx, 0xc
or edx, esi
mov esi, dword [esp]
lea ecx, [edx - 0x41]
cmp ecx, 6
jb 0x100d97d0
jmp 0x100d97ef
xor ebx, ebx
mov eax, ecx
and edx, 7
shl esi, 6
shl edx, 0x12
or esi, edx
or esi, ebx
cmp esi, 0x110000
mov edx, esi
mov esi, dword [esp]
je 0x100d98c1
nop word cs:[eax + eax]
lea ecx, [edx - 0x41]
cmp ecx, 6
jb 0x100d97d0
jmp 0x100d97ef
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
test edi, edi
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
je 0x100d98e7
cmp edi, eax
je 0x100d98e7
jae 0x100da1e3
cmp byte [edx + edi], 0xbf
jle 0x100da1e3
cmp edi, 3
mov dword [esp + 8], edi
jae 0x100d990e
cmp edi, 2
jne 0x100d9d72
jmp 0x100d9932
mov dword [esp + 0x64], edx
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
cmp edi, 3
mov dword [esp + 8], edi
jb 0x100d98f0
cmp edx, str._ZNZN__ZNC:UsersVssAdministrator.cargo_registry_srcgithub.com_1ecc6299db9ec823_rustc_demangle_0.1.16_srclegacy.rs
je 0x100d999e
movzx eax, word [edx]
movzx ecx, byte [edx + 2]
mov edi, dword [esp + 8]
xor eax, 0x5a5f
xor ecx, 0x4e
or cx, ax
je 0x100d999e
cmp edx, 0x10185a8b
je 0x100d99cc
movzx eax, word [edx]
cmp eax, 0x4e5a
je 0x100d99cc
cmp edi, 4
jb 0x100d9cb8
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 8]
cmp edx, 0x10185a8d
je 0x100d9970
cmp dword [edx], 0x4e5a5f5f
jne 0x100d9cc4
mov eax, 0xfffffffc
mov ecx, 4
cmp edi, 4
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], 4
mov dword [esp + 0x28], edi
je 0x100d99f9
cmp byte [edx + 4], 0xbf
jg 0x100d99f9
jmp 0x100da1c0
mov eax, 0xfffffffd
mov ecx, 3
cmp edi, 3
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], 3
mov dword [esp + 0x28], edi
je 0x100d99f9
cmp byte [edx + 3], 0xbf
jg 0x100d99f9
jmp 0x100da1c0
mov eax, 0xfffffffe
mov ecx, 2
cmp edi, 2
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], 2
mov dword [esp + 0x28], edi
je 0x100d99f9
cmp byte [edx + 2], 0xbf
jle 0x100da1c0
add ecx, edx
add eax, edi
lea edi, [ecx + eax]
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], ecx
nop dword [eax + eax]
test eax, eax
je 0x100d9a22
dec eax
cmp byte [ecx], 0
lea ecx, [ecx + 1]
jns 0x100d9a10
jmp 0x100d9cb8
cmp dword [esp + 0xc], 0
je 0x100d9cb8
mov eax, dword [esp + 0x18]
mov cl, byte [eax]
lea ebx, [eax + 1]
movzx edx, cl
test cl, cl
js 0x100d9e52
cmp edx, 0x45
je 0x100d9f36
cmp edx, 0x110000
mov dword [esp], ebx
je 0x100d9cb8
xor eax, eax
mov dword [esp + 4], edi
add edx, 0xffffffd0
mov dword [esp + 0x38], eax
cmp edx, 9
ja 0x100d9cb8
xor eax, eax
jmp 0x100d9a93
mov dword [esp], edi
mov edi, dword [esp + 4]
lea edx, [ebx - 0x30]
cmp edx, 0xa
jae 0x100d9ba9
mov esi, edx
mov edx, 0xa
mov ecx, eax
mul edx
jo 0x100d9cb8
add eax, esi
jb 0x100d9cb8
cmp dword [esp], edi
je 0x100d9cb8
mov edx, dword [esp]
lea edi, [edx + 1]
movzx edx, byte [edx]
movzx ebx, dl
test dl, dl
jns 0x100d9a80
mov dword [esp + 0x10], esi
mov esi, dword [esp + 4]
cmp edi, esi
je 0x100d9b08
mov esi, dword [esp]
movzx edi, byte [esi + 1]
add esi, 2
mov dword [esp], esi
and edi, 0x3f
and ebx, 0x1f
cmp dl, 0xdf
jbe 0x100d9b15
mov dword [esp + 0x30], ebx
mov esi, dword [esp]
mov ebx, dword [esp + 4]
cmp esi, ebx
je 0x100d9b30
movzx ebx, byte [esi]
inc esi
mov dword [esp], esi
and ebx, 0x3f
mov dword [esp + 0x34], ebx
jmp 0x100d9b3b
xor edi, edi
mov dword [esp], esi
and ebx, 0x1f
cmp dl, 0xdf
ja 0x100d9ae9
shl ebx, 6
mov esi, dword [esp + 0x10]
or ebx, edi
mov edi, dword [esp + 4]
lea edx, [ebx - 0x30]
cmp edx, 0xa
jb 0x100d9a93
jmp 0x100d9ba9
mov dword [esp + 0x34], 0
mov dword [esp], ebx
mov ebx, edi
mov esi, dword [esp + 0x10]
shl ebx, 6
add ebx, dword [esp + 0x34]
cmp dl, 0xf0
jb 0x100d9b64
mov esi, dword [esp]
mov edi, dword [esp + 4]
cmp esi, edi
je 0x100d9b81
movzx edx, byte [esi]
inc esi
mov dword [esp], esi
and edx, 0x3f
jmp 0x100d9b83
mov edx, ebx
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 4]
shl ebx, 0xc
or ebx, edx
lea edx, [ebx - 0x30]
cmp edx, 0xa
jb 0x100d9a93
jmp 0x100d9ba9
xor edx, edx
mov esi, dword [esp + 0x30]
shl ebx, 6
and esi, 7
shl esi, 0x12
or ebx, esi
mov esi, dword [esp + 0x10]
or ebx, edx
cmp ebx, 0x110000
jne 0x100d9a87
jmp 0x100d9cb8
test eax, eax
je 0x100d9c9b
mov edx, esi
mov edx, dword [esp]
lea eax, [ecx + ecx*4]
lea eax, [esi + eax*2]
cmp edx, edi
jne 0x100d9bdd
jmp 0x100d9cb8
shl esi, 6
or esi, ecx
mov ecx, ebx
dec eax
mov edx, ecx
je 0x100d9ca0
cmp edx, edi
je 0x100d9cb8
mov ebx, edx
lea ecx, [edx + 1]
movzx edx, byte [edx]
movzx esi, dl
test dl, dl
jns 0x100d9bcc
cmp ecx, edi
je 0x100d9c04
movzx ecx, byte [ebx + 1]
add ebx, 2
and ecx, 0x3f
and esi, 0x1f
cmp dl, 0xdf
jbe 0x100d9bc5
jmp 0x100d9c10
xor ecx, ecx
mov ebx, edi
and esi, 0x1f
cmp dl, 0xdf
jbe 0x100d9bc5
cmp ebx, edi
mov dword [esp + 0x30], esi
je 0x100d9c46
movzx edi, byte [ebx]
inc ebx
mov dword [esp + 0x10], ebx
and edi, 0x3f
shl ecx, 6
or ecx, edi
cmp dl, 0xf0
jb 0x100d9c58
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x10]
cmp ebx, edi
je 0x100d9c74
movzx edx, byte [ebx]
inc ebx
mov dword [esp + 0x10], ebx
and edx, 0x3f
jmp 0x100d9c76
mov esi, edi
xor edi, edi
mov dword [esp + 0x10], esi
shl ecx, 6
or ecx, edi
cmp dl, 0xf0
jae 0x100d9c2d
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 4]
shl esi, 0xc
or esi, ecx
mov ecx, dword [esp + 0x10]
dec eax
mov edx, ecx
jne 0x100d9bd5
jmp 0x100d9ca0
xor edx, edx
mov esi, dword [esp + 0x30]
shl ecx, 6
and esi, 7
shl esi, 0x12
or ecx, esi
or ecx, edx
cmp ecx, 0x110000
mov esi, ecx
mov ecx, dword [esp + 0x10]
jne 0x100d9bcc
jmp 0x100d9cb8
mov ecx, dword [esp]
mov esi, ebx
mov eax, dword [esp + 0x38]
mov edx, esi
mov dword [esp], ecx
inc eax
cmp esi, 0x45
jne 0x100d9a5f
jmp 0x100d9f3a
mov edi, dword [esp + 8]
mov edx, dword [ebp + 0xc]
cmp edi, 3
jb 0x100d9d08
cmp edx, 0x10185b3c
je 0x100d9cd6
movzx eax, word [edx]
cmp eax, 0x525f
jne 0x100d9d0d
mov al, byte [edx + 2]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], 2
mov dword [esp + 0x28], edi
cmp al, 0xbf
jle 0x100da1c0
lea ecx, [edx + 2]
mov esi, 0xfffffffe
add al, 0xbf
cmp al, 0x19
jbe 0x100d9d4f
jmp 0x100d9e0d
cmp edi, 2
jne 0x100d9d72
cmp edx, 0x10185b3e
je 0x100d9d1e
cmp byte [edx], 0x52
jne 0x100d9db7
mov al, byte [edx + 1]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], 1
mov dword [esp + 0x28], edi
cmp al, 0xbf
jle 0x100da1c0
lea ecx, [edx + 1]
mov esi, 0xffffffff
add al, 0xbf
cmp al, 0x19
ja 0x100d9e0d
add esi, edi
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
cmp esi, eax
je 0x100d9d8b
cmp byte [ecx + eax], 0
lea eax, [eax + 1]
jns 0x100d9d60
jmp 0x100d9e0d
mov ecx, 0x10185c15
mov dword [esp + 4], 0
mov dword [esp], 2
jmp 0x100d9e21
mov dword [esp + 0x1c], ecx
mov edi, ecx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], 0
call fcn.100d5ab0
test al, al
je 0x100d9eb2
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 8]
jmp 0x100d9e0d
cmp edi, 3
jbe 0x100d9e0d
cmp edx, 0x10185b3f
je 0x100d9ddc
movzx eax, word [edx]
movzx ecx, byte [edx + 2]
mov edi, dword [esp + 8]
xor eax, 0x5f5f
xor ecx, 0x52
or cx, ax
jne 0x100d9e0d
mov al, byte [edx + 3]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], 3
mov dword [esp + 0x28], edi
cmp al, 0xbf
jle 0x100da1c0
lea ecx, [edx + 3]
mov esi, 0xfffffffd
add al, 0xbf
cmp al, 0x19
jbe 0x100d9d4f
mov dword [esp], 2
mov dword [esp + 4], 0
mov ecx, 0x10185c15
mov eax, dword [ebp + 8]
mov ebx, dword [esp]
mov dword [eax], ebx
mov ebx, dword [esp + 0x18]
mov dword [eax + 4], ebx
mov dword [eax + 8], esi
mov esi, dword [esp + 0x38]
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], edx
mov edx, dword [esp + 4]
mov dword [eax + 0x14], edi
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
cmp dword [esp + 0xc], 1
mov esi, edi
je 0x100d9e6d
mov eax, dword [esp + 0x18]
lea ebx, [eax + 2]
movzx eax, byte [eax + 1]
mov esi, ebx
and eax, 0x3f
and edx, 0x1f
cmp cl, 0xdf
jbe 0x100d9f28
cmp esi, edi
je 0x100da0f6
movzx ebx, byte [esi]
inc esi
mov dword [esp], esi
and ebx, 0x3f
shl eax, 6
or eax, ebx
cmp cl, 0xf0
jb 0x100da10b
mov ebx, dword [esp]
cmp esi, edi
je 0x100da121
movzx ecx, byte [esi]
inc esi
mov ebx, esi
and ecx, 0x3f
jmp 0x100da123
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, ecx
cmp ecx, eax
jbe 0x100d9ee8
mov ecx, dword [esp + 0x1c]
mov cl, byte [ecx + eax]
add cl, 0xbf
cmp cl, 0x19
ja 0x100d9ee8
lea ecx, [esp + 0x1c]
call fcn.100d5ab0
test al, al
jne 0x100d9dae
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], edi
test eax, eax
mov edi, edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
je 0x100d9f1a
cmp edi, eax
je 0x100d9f1a
jbe 0x100da1f0
cmp byte [ecx + eax], 0xbf
jle 0x100da1f0
sub edi, eax
add ecx, eax
mov edx, dword [ebp + 0xc]
mov ebx, 1
jmp 0x100d9f49
shl edx, 6
or edx, eax
cmp edx, 0x45
jne 0x100d9a4a
mov ecx, ebx
xor eax, eax
sub edi, ecx
mov dword [esp + 0x38], eax
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0xc]
xor ebx, ebx
mov eax, edi
mov edi, dword [esp + 8]
test eax, eax
mov dword [esp + 4], eax
je 0x100da091
cmp ecx, 0x10185b24
je 0x100d9f6c
cmp byte [ecx], 0x2e
jne 0x100da0b9
mov edi, dword [esp + 4]
mov edx, ecx
mov dword [esp], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
lea eax, [ecx + edi]
jmp 0x100d9f98
cmp edx, eax
je 0x100da0a1
movzx ebx, byte [edx]
lea ecx, [edx + 1]
movzx esi, bl
test bl, bl
js 0x100d9ff0
mov edx, ecx
lea ecx, [esi - 0x21]
cmp ecx, 0xf
jb 0x100d9f90
lea ecx, [esi - 0x30]
cmp ecx, 0xa
jb 0x100d9f90
mov ecx, esi
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x1a
jb 0x100d9f90
lea ecx, [esi - 0x3a]
cmp ecx, 7
jb 0x100d9f90
lea ecx, [esi - 0x5b]
cmp ecx, 6
jb 0x100d9f90
add esi, 0xffffff85
cmp esi, 3
jbe 0x100d9f90
jmp 0x100da0d2
cmp ecx, eax
je 0x100da028
movzx edi, byte [edx + 1]
add edx, 2
and edi, 0x3f
and esi, 0x1f
cmp bl, 0xdf
jbe 0x100da034
cmp edx, eax
je 0x100da039
movzx ecx, byte [edx]
inc edx
and ecx, 0x3f
shl edi, 6
or edi, ecx
cmp bl, 0xf0
jb 0x100da047
cmp edx, eax
je 0x100da061
movzx ebx, byte [edx]
inc edx
and ebx, 0x3f
jmp 0x100da065
xor edi, edi
mov edx, eax
and esi, 0x1f
cmp bl, 0xdf
ja 0x100da006
shl esi, 6
jmp 0x100da04a
xor ecx, ecx
mov edx, eax
shl edi, 6
or edi, ecx
cmp bl, 0xf0
jae 0x100da01b
shl esi, 0xc
or esi, edi
mov edi, dword [esp + 4]
lea ecx, [esi - 0x21]
cmp ecx, 0xf
jae 0x100d9faf
jmp 0x100d9f90
xor ebx, ebx
mov edx, eax
and esi, 7
shl edi, 6
shl esi, 0x12
or edi, esi
or edi, ebx
cmp edi, 0x110000
mov esi, edi
mov edi, dword [esp + 4]
je 0x100da0a1
lea ecx, [esi - 0x21]
cmp ecx, 0xf
jae 0x100d9faf
jmp 0x100d9f90
mov dword [esp], ebx
mov dword [esp + 4], 0
jmp 0x100d9e21
mov dword [esp + 4], edi
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
jmp 0x100d9e21
mov ecx, 0x10185c15
mov dword [esp], 2
mov dword [esp + 4], 0
jmp 0x100d9e21
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov ecx, 0x10185c15
mov dword [esp], 2
mov dword [esp + 4], 0
jmp 0x100d9e21
mov dword [esp], ebx
xor ebx, ebx
mov esi, edi
shl eax, 6
or eax, ebx
cmp cl, 0xf0
jae 0x100d9e99
mov ebx, dword [esp]
shl edx, 0xc
or edx, eax
cmp edx, 0x45
jne 0x100d9a4a
jmp 0x100d9f36
xor ecx, ecx
and edx, 7
shl eax, 6
shl edx, 0x12
or eax, edx
or eax, ecx
mov edx, eax
cmp edx, 0x45
jne 0x100d9a4a
jmp 0x100d9f36
push dword [esp]
push ecx
push 0x101859f0
call fcn.100df2b0
add esp, 0xc
ud2
lea eax, [esp + 0x28]
lea edx, [esp + 0x44]
lea ecx, [esp + 0x14]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x1c]
call fcn.100c0fc0
ud2
push esi
push ecx
push 0x10185a00
call fcn.100df2b0
add esp, 0xc
ud2
push dword [esp]
push esi
push 0x101859f0
call fcn.100df2b0
add esp, 0xc
ud2
push dword [esp]
push ebx
push 0x10185a10
call fcn.100df2b0
add esp, 0xc
ud2
push dword [esp]
push edx
push 0x10185a10
call fcn.100df2b0
add esp, 0xc
ud2
lea eax, [esp + 0x1c]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x28]
lea ecx, [esp + 0x48]
mov dword [esp + 0x50], eax
call fcn.100c0fc0
ud2
lea ecx, [esp + 0x48]
mov edx, edi
call fcn.100d4520
ud2
lea eax, [esp + 0x28]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x14]
lea ecx, [esp + 0x48]
mov dword [esp + 0x50], eax
call fcn.100c0fc0
ud2