Function at 0x10033ea0
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x430
call 0x10033eb4
pop eax
mov dword [esp + 0xa0], ecx
mov ecx, dword [edx + 0x6c]
mov esi, dword [edx]
mov dword [esp + 0xb4], edx
mov edx, dword [edx + 4]
mov dword [esp + 0x13c], eax
mov eax, dword [ebp + 8]
test ecx, ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
mov eax, dword [eax + 0x28]
mov dword [esp + 0x1c], eax
je 0x10034297
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 0x70]
mov dword [esp + 0x2c], eax
movzx eax, word [ecx + 0x10e]
mov edi, 0xffffffff
xor ebx, ebx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x48], eax
shl eax, 4
mov dword [esp + 0x50], eax
nop word [eax + eax]
cmp dword [esp + 0x50], ebx
je 0x10033f80
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x1c]
mov esi, dword [ecx + edi*8 + 0xb8]
mov edx, dword [ecx + edi*8 + 0xbc]
xor ecx, ecx
mov dword [esp + 8], esi
xor esi, eax
or esi, edx
setne cl
cmp eax, dword [esp + 8]
mov eax, 0
sbb eax, edx
mov eax, 0xff
cmovb ecx, eax
inc edi
add ebx, 0x10
cmp cl, 1
je 0x10033f20
movzx eax, cl
test eax, eax
jne 0x10033f84
jmp 0x10033fa8
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x80]
sub eax, 1
jb 0x10034297
mov ecx, dword [ecx + edi*4 + 0x110]
mov dword [esp + 0x2c], eax
jmp 0x10033efa
mov ecx, dword [esp + 0x80]
cmp byte [ecx + ebx - 0x10], 0x4b
jne 0x100342b8
mov esi, dword [ecx + ebx - 0xc]
lock inc dword [esi]
jle 0x100368b8
mov eax, 0x4b
cmp al, 0x4b
jne 0x100342d0
mov edx, dword [ebp + 8]
mov ebx, dword [esp + 0xb4]
mov eax, dword [edx + 0x2c]
movq xmm0, qword [edx + 0x24]
movsd xmm1, qword [edx]
mov ecx, dword [edx + 0x20]
movdqu xmm2, xmmword [edx + 0x10]
mov dword [esp + 0x30c], eax
movq qword [esp + 0x304], xmm0
movsd qword [esp + 0x2e0], xmm1
movq xmm1, qword [edx + 8]
cmp ecx, 0x50000
setae al
xor edx, edx
movq qword [esp + 0x2e8], xmm1
movdqu xmmword [esp + 0x2f0], xmm2
mov dword [esp + 0x300], ecx
and ecx, 0xff00
mov dword [esp + 0x328], esi
mov dword [esp + 0x310], 0
mov dword [esp + 0x318], 0
mov dword [esp + 0x324], 0
mov dword [esp + 0x320], 0
cmp ecx, 0x800
sete dl
xor edi, edi
test byte [ebx + 0x78], al
movd ebx, xmm1
pshufd xmm1, xmm2, 0xee
lea ecx, [edx*8 + 8]
lea eax, [edx*8 + 0xc]
movd dword [esp + 0xc8], xmm1
pshufd xmm1, xmm2, 0xff
movd dword [esp + 0xcc], xmm1
cmove ecx, edi
cmove eax, edi
add ebx, 0xfffffffd
xor edx, edx
cmp ebx, 2
mov dword [esp + 0x32c], ecx
mov dword [esp + 0x330], 0
mov dword [esp + 0x334], eax
mov dword [esp + 0x338], eax
lea eax, [esp + 0x2e0]
mov dword [esp + 0x24c], 0
mov dword [esp + 0x248], 0x2f
mov dword [esp + 0x23c], 0
setb dl
add esi, 8
mov dword [esp + 0xd0], eax
mov dword [esp + 0x238], edx
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], 0
movq qword [esp + 0x240], xmm2
mov dword [esp + 0xf4], 0
lea ecx, [esp + 0x160]
lea edx, [esp + 0xc8]
call sym.gimli::read::unit::EntriesCursor_LT_R_GT_::next_entry::h9eaf7319221d4097
movzx eax, byte [esp + 0x160]
cmp al, 0x4b
jne 0x100341a2
lea esi, [esp + 0x160]
lea edi, [esp + 0xc8]
nop word cs:[eax + eax]
mov eax, dword [esp + 0xd8]
cmp byte [esp + 0x161], 1
jne 0x10034b41
test eax, eax
jne 0x10034b49
mov ecx, esi
mov edx, edi
call sym.gimli::read::unit::EntriesCursor_LT_R_GT_::next_entry::h9eaf7319221d4097
movzx eax, byte [esp + 0x160]
cmp al, 0x4b
je 0x10034170
mov edx, dword [esp + 0xa0]
movzx ecx, byte [esp + 0x161]
movzx edi, word [esp + 0x162]
mov esi, dword [esp + 0x168]
mov byte [edx + 8], al
mov byte [edx + 9], cl
mov ecx, dword [esp + 0x164]
mov word [edx + 0xa], di
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x16c]
mov dword [edx + 0x10], esi
mov dword [edx + 0x14], ecx
mov dword [edx + 4], 0
mov dword [edx], 2
mov eax, dword [esp + 0x328]
lock dec dword [eax]
jne 0x10034206
mov ecx, dword [esp + 0x328]
call sym.alloc::sync::Arc_LT_T_C_A_GT_::drop_slow::h6d43fabf1cb9122b
mov eax, dword [esp + 0x248]
xor eax, 0x2f
or eax, dword [esp + 0x24c]
je 0x100342ff
cmp dword [esp + 0x298], 0
je 0x1003423b
push dword [esp + 0x29c]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x2a4], 0
je 0x10034259
push dword [esp + 0x2a8]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x2b0], 0
je 0x10034277
push dword [esp + 0x2b4]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x2bc], 0
je 0x100342ff
push dword [esp + 0x2c0]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
jmp 0x100342ff
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
jae 0x10034307
mov edx, dword [esp + 0xc]
xor edi, edi
mov eax, 0x13
cmp al, 0x4b
je 0x10033fd4
jmp 0x100342d0
mov eax, dword [ecx + ebx - 0x10]
mov esi, dword [ecx + ebx - 0xc]
mov edi, dword [ecx + ebx - 4]
mov edx, dword [ecx + ebx - 8]
cmp al, 0x4b
je 0x10033fd4
mov ecx, dword [esp + 0xa0]
mov ebx, eax
shr eax, 8
mov byte [ecx + 8], bl
shr ebx, 0x18
mov word [ecx + 9], ax
mov byte [ecx + 0xb], bl
mov dword [ecx + 0xc], esi
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], edi
mov dword [ecx + 4], 0
mov dword [ecx], 2
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [esp + 0xc]
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 8
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x154], 0
add esi, ecx
sub eax, ecx
je 0x10034b64
pxor xmm0, xmm0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], esi
xor eax, eax
xor esi, esi
xor edi, edi
xor ecx, ecx
mov edx, dword [esp + 0xc]
cmp ecx, 0x3f
movzx edx, byte [edx + eax]
jne 0x10034376
cmp dl, 2
jae 0x1003506a
mov dh, dl
mov dword [esp + 8], edi
xor edi, edi
mov dword [esp + 0x80], esi
mov esi, 0
and dh, 0x7f
movzx ebx, dh
shld edi, ebx, cl
shl ebx, cl
test cl, 0x20
cmovne edi, ebx
cmovne ebx, esi
or dword [esp + 8], edi
or dword [esp + 0x80], ebx
test dl, dl
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x80]
jns 0x100343c7
inc eax
add ecx, 7
cmp dword [esp + 0x10], eax
jne 0x10034360
jmp 0x1003506e
mov ecx, dword [esp + 0x10]
mov edx, esi
or edx, edi
lea ecx, [ecx - 1]
je 0x10034404
cmp ecx, eax
je 0x10035960
mov edx, dword [esp + 0xc]
movzx ecx, byte [edx + eax + 1]
mov ebx, ecx
and ebx, 0x7f
test cl, cl
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 2]
js 0x100344f6
sub ecx, eax
lea esi, [edx + eax + 2]
jmp 0x1003455a
mov edx, dword [esp + 0xc]
sub ecx, eax
mov dword [esp + 8], 2
mov dword [esp + 0x10], ecx
lea edx, [edx + eax + 1]
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xcc]
lea ebx, [esp + 0x1c0]
mov ecx, 0x14
lea esi, [esp + 0xe0]
mov edx, dword [esp + 0xd4]
mov edi, ebx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xd8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 8]
cmp ecx, 2
je 0x100359c7
mov dword [esp + 0x238], ecx
mov ecx, dword [esp + 0x50]
lea edi, [esp + 0x250]
mov esi, ebx
mov dword [esp + 0x23c], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x240], ecx
mov dword [esp + 0x244], edx
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x80]
mov ecx, 0x14
mov dword [esp + 0x24c], eax
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x238]
push eax
lea eax, [esp + 0x144]
push eax
call sym.gimli::read::abbrev::Abbreviations::insert::h9fd3cb543de9fb6a
add esp, 8
mov esi, dword [esp + 0xc]
test al, al
pxor xmm0, xmm0
jne 0x10035a03
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x10034350
jmp 0x10035076
cmp ecx, eax
je 0x10035a13
mov esi, dword [esp + 0xc]
movzx ebx, bx
movzx ecx, byte [esi + eax + 2]
lea esi, [esi + eax + 3]
mov edx, ecx
and edx, 0x7f
shl edx, 7
or ebx, edx
mov edx, dword [esp + 0x10]
test cl, cl
lea edx, [edx - 3]
js 0x10034527
sub edx, eax
jmp 0x10034558
cmp edx, eax
je 0x10035c3a
movzx ecx, byte [esi]
cmp cx, 3
ja 0x10035c62
mov edx, dword [esp + 0xc]
movzx ebx, bx
lea esi, [edx + eax + 4]
mov edx, dword [esp + 0x10]
sub edx, eax
movzx eax, cx
shl eax, 0xe
add edx, 0xfffffffc
or ebx, eax
mov ecx, edx
test bx, bx
je 0x1003597d
test ecx, ecx
je 0x10035984
movzx eax, byte [esi]
cmp al, 2
mov byte [esp + 0x17], al
jae 0x10035988
inc esi
dec ecx
mov dword [esp + 0x17c], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x180], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x188], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1b0], 0
movdqa xmmword [esp + 0x160], xmm0
mov dword [esp + 0x170], 0
mov dword [esp + 0x70], ebx
test ecx, ecx
je 0x1003586f
lea eax, [ecx - 1]
mov dword [esp + 0x34], edx
mov edx, ecx
lea ecx, [esi + 1]
mov dword [esp + 0x50], eax
movzx eax, byte [esi]
mov ebx, eax
and ebx, 0x7f
test al, al
js 0x10034648
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x50]
mov esi, ecx
jmp 0x100346c6
cmp dword [esp + 0x50], 0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], edx
je 0x100359a8
mov edx, esi
mov dword [esp + 0x2c], eax
movzx ebx, bx
movzx eax, byte [edx + 1]
lea esi, [edx + 2]
mov ecx, eax
and ecx, 0x7f
shl ecx, 7
or ebx, ecx
mov ecx, dword [esp + 0xc]
test al, al
mov dword [esp + 0x48], ebx
lea ecx, [ecx - 2]
js 0x10034690
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x2c]
mov edx, ecx
jmp 0x100346c6
test ecx, ecx
je 0x10035ad1
movzx eax, byte [esi]
cmp ax, 3
ja 0x10035add
mov ebx, dword [esp + 0x48]
movzx eax, ax
mov ecx, edx
mov edx, dword [esp + 0xc]
shl eax, 0xe
add ecx, 3
mov esi, ecx
movzx ebx, bx
add edx, 0xfffffffd
or ebx, eax
mov eax, dword [esp + 0x2c]
test bx, bx
je 0x10034924
test edx, edx
je 0x1003587a
mov dword [esp + 0x48], ebx
movzx ebx, byte [esi]
mov dword [esp + 0x2c], eax
mov ecx, edx
dec edx
mov eax, ebx
and eax, 0x7f
test bl, bl
mov ebx, esi
lea esi, [esi + 1]
mov dword [esp + 0x1c], esi
js 0x100346fb
mov ecx, edx
jmp 0x10034768
test edx, edx
mov dword [esp + 0x50], ebx
je 0x10035951
mov esi, dword [esp + 0x50]
movzx eax, ax
lea edx, [ecx - 2]
movzx ebx, byte [esi + 1]
add esi, 2
mov dword [esp + 0x1c], esi
mov edi, ebx
and edi, 0x7f
shl edi, 7
or eax, edi
test bl, bl
js 0x10034732
mov edi, dword [esp + 8]
mov ecx, edx
jmp 0x10034768
test edx, edx
je 0x10035951
mov esi, dword [esp + 0x1c]
movzx edi, byte [esi]
cmp di, 3
ja 0x10035ae5
movzx edi, di
mov esi, dword [esp + 0x50]
movzx eax, ax
add ecx, 0xfffffffd
shl edi, 0xe
or eax, edi
mov edi, dword [esp + 8]
add esi, 3
mov dword [esp + 0x1c], esi
mov edx, eax
mov dword [esp + 0xc], ecx
cmp dx, 0x21
je 0x100347b4
movzx eax, dx
test eax, eax
je 0x1003596d
movzx eax, word [esp + 0x48]
mov esi, dword [esp + 0x2c]
shl edx, 0x10
mov ecx, 0xffffffff
xor ebx, ebx
mov dword [esp + 0x9c], 0
mov dword [esp + 0x50], 0
or edx, eax
and esi, ecx
mov dword [esp + 0x18], edx
xor edx, edx
jmp 0x100348b3
test ecx, ecx
je 0x10035974
mov esi, dword [esp + 0x1c]
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x10], 0
xor ecx, ecx
nop
mov dword [esp + 0x50], ebx
movzx ebx, byte [esi + eax]
cmp ecx, 0x3f
jne 0x100347ed
movzx edi, bl
cmp edi, 0x7f
je 0x100347ed
test edi, edi
jne 0x10035777
mov edx, ebx
mov esi, 0
and dl, 0x7f
movzx edi, dl
xor edx, edx
shld edx, edi, cl
shl edi, cl
test cl, 0x20
cmovne edx, edi
cmovne edi, esi
or dword [esp + 0x10], edx
mov edx, ebx
mov ebx, dword [esp + 0x50]
or ebx, edi
test dl, dl
jns 0x1003482d
inc eax
add ecx, 7
mov esi, dword [esp + 0x1c]
cmp dword [esp + 0xc], eax
jne 0x100347d0
jmp 0x1003571c
add ecx, 7
mov dword [esp + 0x50], ebx
mov ebx, edx
mov edi, 0xffffffff
cmp ecx, 0x40
setl dl
cmp bl, 0x40
mov ebx, dword [esp + 0x10]
setae dh
shl edi, cl
test cl, 0x20
mov ecx, 0xffffffff
cmovne ecx, edi
cmovne edi, esi
test dl, dh
mov edx, dword [esp + 0x50]
cmove edi, esi
cmove ecx, esi
mov esi, dword [esp + 0x2c]
or ebx, ecx
mov ecx, 0xffffffff
or edx, edi
movzx edi, word [esp + 0x48]
and esi, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x50], edx
shrd edx, ebx, 0x10
shr ebx, 0x10
mov dword [esp + 0x9c], ebx
or edi, 0x210000
lea ecx, [ecx + eax + 1]
not eax
mov dword [esp + 0x18], edi
mov edi, dword [esp + 8]
add dword [esp + 0xc], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], ecx
mov bl, ah
mov eax, edx
movzx ecx, bl
mov dword [esp + 0xb0], edx
mov dword [esp + 0x2c], esi
shl eax, 0x10
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x50]
or eax, ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x18]
shld ecx, edx, 0x10
mov dword [esp + 0x344], ecx
mov dword [esp + 0x348], eax
mov dword [esp + 0x34c], esi
lea eax, [esp + 0x340]
push eax
lea eax, [esp + 0x164]
push eax
call sym.gimli::read::abbrev::Attributes::push::h7e329abdc6433c9d
mov edx, ebx
add esp, 8
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
jmp 0x10034618
test edx, edx
je 0x1003587a
movzx ebx, byte [esi]
lea eax, [edx - 1]
mov ecx, esi
inc esi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], esi
mov eax, ebx
and eax, 0x7f
test bl, bl
js 0x10034956
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x70]
jmp 0x100349e1
cmp dword [esp + 0x10], 0
mov dword [esp + 0x50], ecx
je 0x10035d98
mov ecx, dword [esp + 0x50]
movzx eax, ax
lea esi, [edx - 2]
mov dword [esp + 0x10], esi
movzx ebx, byte [ecx + 1]
mov edi, ebx
and edi, 0x7f
shl edi, 7
or eax, edi
test bl, bl
lea edi, [ecx + 2]
js 0x1003499d
mov dword [esp + 0xc], edi
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 8]
mov ebx, dword [esp + 0x70]
jmp 0x100349e1
cmp dword [esp + 0x10], 0
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x70]
je 0x10035e3a
movzx edi, byte [edi]
cmp di, 3
ja 0x10035ae5
movzx edi, di
mov ecx, dword [esp + 0x50]
movzx eax, ax
add edx, 0xfffffffd
shl edi, 0xe
mov dword [esp + 0x10], edx
or eax, edi
mov edi, dword [esp + 8]
add ecx, 3
mov dword [esp + 0xc], ecx
test ax, ax
jne 0x10035c70
lea ecx, [esp + 0x178]
movq xmm1, qword [esp + 0x160]
movdqu xmm0, xmmword [esp + 0x168]
movsd xmm3, qword [ecx + 8]
movsd xmm4, qword [ecx + 0x10]
movq xmm2, qword [ecx]
movd eax, xmm1
movsd qword [esp + 0x358], xmm3
movsd xmm3, qword [ecx + 0x18]
movsd qword [esp + 0x360], xmm4
movsd xmm4, qword [ecx + 0x20]
cmp eax, 2
movq qword [esp + 0x350], xmm2
movsd qword [esp + 0x368], xmm3
movsd xmm3, qword [ecx + 0x28]
movsd qword [esp + 0x370], xmm4
movsd xmm4, qword [ecx + 0x30]
movsd qword [esp + 0x378], xmm3
movsd xmm3, qword [ecx + 0x38]
movsd qword [esp + 0x380], xmm4
movsd qword [esp + 0x388], xmm3
je 0x10035b58
movsd xmm3, qword [esp + 0x380]
lea eax, [esp + 0x3d8]
movsd xmm4, qword [esp + 0x378]
movq xmm2, qword [esp + 0x388]
movsd qword [eax + 0x30], xmm3
movsd xmm3, qword [esp + 0x370]
movsd qword [eax + 0x28], xmm4
movsd xmm4, qword [esp + 0x368]
movq qword [eax + 0x38], xmm2
movsd qword [eax + 0x20], xmm3
movsd xmm3, qword [esp + 0x360]
movsd qword [eax + 0x18], xmm4
movsd xmm4, qword [esp + 0x350]
movsd qword [eax + 0x10], xmm3
movq xmm3, qword [esp + 0x358]
movsd qword [eax], xmm4
movq qword [eax + 8], xmm3
movq qword [esp + 0x3c0], xmm1
movdqu xmmword [esp + 0x3c8], xmm0
movzx eax, byte [esp + 0x17]
lea ecx, [esp + 0x3c0]
push ecx
push eax
push ebx
push edi
push esi
lea eax, [esp + 0xdc]
push eax
call sym.gimli::read::abbrev::Abbreviation::new::h12b516942ff7ffa0
add esp, 0x18
mov eax, dword [esp + 0xc8]
cmp eax, 3
mov dword [esp + 8], eax
jne 0x1003441e
jmp 0x10035096
test eax, eax
je 0x100353b5
mov edi, dword [esp + 0xe0]
mov ecx, dword [esp + 0xdc]
test byte [edi], 1
je 0x10034b69
mov esi, dword [edi + 0xc]
mov edi, dword [edi + 8]
jmp 0x10034b78
jmp 0x10035076
mov esi, dword [edi + 4]
cmp esi, 6
jae 0x100361a1
add edi, 8
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x3c4], ecx
test esi, esi
lea ecx, [esp + 0xd8]
mov dword [esp + 0x3c8], edi
mov dword [esp + 0x3cc], esi
mov dword [esp + 0x3d0], ecx
je 0x10034fd7
movd xmm2, dword [0x100eeb30]
mov eax, dword [esp + 0x238]
dec esi
add edi, 0x10
mov ecx, 0x2e
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x48], 0
movdqa xmm3, xmm2
mov dword [esp + 0x10], eax
jmp 0x10034c0f
mov ecx, dword [esp + 8]
movdqa xmm2, xmmword [esp + 0x80]
movdqa xmm3, xmmword [esp + 0x50]
add edi, 0x10
add esi, 0xffffffff
jae 0x10035390
movsd xmm0, qword [edi - 0x10]
movsd xmm1, qword [edi - 8]
mov eax, dword [esp + 0x3d0]
mov dword [esp + 8], ecx
movdqa xmmword [esp + 0x50], xmm3
movdqa xmmword [esp + 0x80], xmm2
movsd qword [esp + 0x1c8], xmm1
movsd qword [esp + 0x1c0], xmm0
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x160]
lea ebx, [esp + 0x1c0]
lea edx, [esp + 0x3c0]
push ebx
push dword [eax + 0x20]
call sym.gimli::read::unit::parse_attribute::hdd3cf4e0ff72c012
add esp, 8
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x164]
mov edx, eax
xor edx, 0x2e
or edx, ecx
je 0x1003535b
lea edx, [esp + 0x168]
mov dword [esp + 0x3c8], edi
mov dword [esp + 0x3cc], esi
movq xmm0, qword [edx]
movq xmm1, qword [edx + 8]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x160], eax
movq qword [edx + 8], xmm1
movq qword [edx], xmm0
movq qword [esp + 0x390], xmm0
movq qword [esp + 0x398], xmm1
movzx eax, word [esp + 0x170]
cmp eax, 0x71
jle 0x10034d50
mov ecx, dword [esp + 8]
movdqa xmm2, xmmword [esp + 0x80]
movdqa xmm3, xmmword [esp + 0x50]
cmp eax, 0x2130
jg 0x10034db0
add eax, 0xffffff8e
cmp eax, 0x1a
ja 0x10034c03
mov eax, dword [eax*4 + 0x10036adc]
add eax, dword [esp + 0x13c]
jmp eax
mov ecx, dword [esp + 8]
movdqa xmm2, xmmword [esp + 0x80]
movdqa xmm3, xmmword [esp + 0x50]
add eax, 0xfffffffd
cmp eax, 0x18
ja 0x10034c03
mov eax, dword [eax*4 + 0x10036a78]
add eax, dword [esp + 0x13c]
jmp eax
cmp eax, 0x2131
je 0x10034f5d
cmp eax, 0x2132
je 0x10034e0a
cmp eax, 0x2133
jne 0x10034c03
lea ecx, [esp + 0x1c0]
lea edx, [esp + 0x160]
call sym.gimli::read::unit::Attribute_LT_R_GT_::value::h43a21af532bb1013
mov eax, dword [esp + 0x1c0]
xor eax, 0xb
or eax, dword [esp + 0x1c4]
jne 0x10034bf0
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0x330], eax
jmp 0x10034bf0
lea ecx, [esp + 0x1c0]
lea edx, [esp + 0x160]
call sym.gimli::read::unit::Attribute_LT_R_GT_::value::h43a21af532bb1013
mov eax, dword [esp + 0x1c0]
xor eax, 0x17
or eax, dword [esp + 0x1c4]
jne 0x10034bf0
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0x338], eax
jmp 0x10034bf0
test byte [esp + 0x10], 1
je 0x10034f6f
mov al, 1
mov dword [esp + 0x10], eax
jmp 0x10034c03
lea ecx, [esp + 0x1c0]
lea edx, [esp + 0x160]
call sym.gimli::read::unit::Attribute_LT_R_GT_::value::h43a21af532bb1013
mov eax, dword [esp + 0x1c0]
xor eax, 0x2d
or eax, dword [esp + 0x1c4]
sete al
mov dword [esp + 0x10], eax
jne 0x10034bf0
mov eax, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x1cc]
mov dword [esp + 0x23c], 0
mov dword [esp + 0x238], 1
mov dword [esp + 0x244], ecx
mov dword [esp + 0x240], eax
jmp 0x10034bf0
movd xmm2, dword [0x100eeb30]
mov dword [esp + 0x48], 0
mov ecx, 0x2e
mov dword [esp + 0x2c], 0
lea eax, [esp + 0xd8]
xor ebx, ebx
movdqa xmm3, xmm2
test byte [eax + 0x14], 1
lea edi, [esp + 0x260]
mov dword [esp + 8], ecx
jne 0x10035027
mov edx, dword [esp + 0x3c0]
mov ecx, eax
sub edx, dword [ecx]
mov dword [ecx + 0x14], 1
mov dword [ecx + 0x18], edx
movsd xmm1, qword [esp + 0x358]
movsd xmm0, qword [esp + 0x350]
movd ecx, xmm3
xor ecx, 0x2e
movsd qword [esp + 0x398], xmm1
pshufd xmm1, xmm3, 0x55
movsd qword [esp + 0x390], xmm0
movd eax, xmm1
or ecx, eax
jne 0x1003521b
xor edx, edx
jmp 0x1003527e
mov cl, 6
jmp 0x1003507a
mov esi, dword [esp + 0xc]
add esi, dword [esp + 0x10]
xor eax, eax
mov cl, 0x13
mov byte [esp + 0xd0], cl
mov byte [esp + 0xd1], dl
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xd0]
mov esi, dword [esp + 0xd4]
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x80], eax
mov dword [esp + 0x50], edx
mov dword [esp + 0xc], ecx
mov ebx, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
test ebx, ebx
mov dword [esp + 8], eax
je 0x10035103
mov eax, dword [esp + 8]
lea edi, [eax + 8]
jmp 0x100350e6
add edi, 0x68
dec ebx
je 0x10035103
cmp dword [edi - 8], 0
je 0x100350e0
cmp dword [edi - 4], 0
je 0x100350e0
push dword [edi]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
jmp 0x100350e0
cmp dword [esp + 0x140], 0
je 0x1003511e
push dword [esp + 8]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0x14c]
test ecx, ecx
je 0x10035170
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x154]
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], edx
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], ecx
mov ecx, 1
mov dword [esp + 0xe4], edx
jmp 0x10035174
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xe8], eax
lea ecx, [esp + 0x160]
lea edx, [esp + 0xc8]
call sym.alloc::collections::btree::map::IntoIter_LT_K_C_V_C_A_GT_::dying_next::h115d054eecfd1ce3
mov eax, dword [esp + 0x160]
test eax, eax
je 0x100351ff
lea edi, [esp + 0x160]
lea ebx, [esp + 0xc8]
jmp 0x100351d4
mov ecx, edi
mov edx, ebx
call sym.alloc::collections::btree::map::IntoIter_LT_K_C_V_C_A_GT_::dying_next::h115d054eecfd1ce3
mov eax, dword [esp + 0x160]
test eax, eax
je 0x100351ff
imul ecx, dword [esp + 0x168], 0x68
cmp dword [eax + ecx + 0x58], 0
je 0x100351c0
lea eax, [eax + ecx + 0x58]
cmp dword [eax + 4], 0
je 0x100351c0
push dword [eax + 8]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
jmp 0x100351c0
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x50]
cmp al, 0x4b
jne 0x100342d0
jmp 0x10033fd4
movzx eax, byte [esp + 0x301]
movdqa xmmword [esp + 0x80], xmm2
movdqu xmmword [esp + 0x418], xmm3
mov edx, dword [esp + 0xb4]
lea esi, [esp + 0x418]
lea ecx, [esp + 0xc8]
push esi
push dword [esp + 0x330]
push eax
call sym.gimli::read::dwarf::Dwarf_LT_R_GT_::attr_string::h2e2835e0fe0b4cd2
add esp, 0xc
xor edx, edx
cmp byte [esp + 0xc8], 0x4b
jne 0x1003526e
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 0xd0]
movdqa xmm2, xmmword [esp + 0x80]
movd ecx, xmm2
pshufd xmm0, xmm2, 0x55
mov dword [esp + 0x310], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x314], eax
mov dword [esp + 0x80], edx
movd eax, xmm0
xor ecx, 0x2e
or ecx, eax
jne 0x100352c2
xor ecx, ecx
test ebx, ebx
mov dword [esp + 0x318], 0
je 0x100353f7
jmp 0x10035332
movzx eax, byte [esp + 0x301]
movdqu xmmword [esp + 0x340], xmm2
mov edx, dword [esp + 0xb4]
lea esi, [esp + 0x340]
lea ecx, [esp + 0xc8]
push esi
push dword [esp + 0x330]
push eax
call sym.gimli::read::dwarf::Dwarf_LT_R_GT_::attr_string::h2e2835e0fe0b4cd2
add esp, 0xc
xor esi, esi
cmp byte [esp + 0xc8], 0x4b
mov eax, dword [esp + 0xd0]
mov ecx, 0
jne 0x10035318
mov ecx, dword [esp + 0xcc]
test ebx, ebx
mov dword [esp + 0x318], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x31c], eax
je 0x10035407
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xb4]
mov eax, dword [ecx + 0x20]
mov edx, dword [ecx + 0x24]
mov ecx, dword [esp + 0xc]
sub edx, ecx
jae 0x100353d9
xor ebx, ebx
mov edi, 0x13
jmp 0x1003584a
lea eax, [esp + 0x168]
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
mov eax, dword [esp + 0xa0]
movq qword [esp + 0x390], xmm0
movq qword [esp + 0x398], xmm1
movq qword [eax + 0x10], xmm1
movq qword [eax + 8], xmm0
jmp 0x100353c7
mov eax, dword [esp + 0x3d0]
mov ebx, dword [esp + 0x1c]
test byte [eax + 0x14], 1
lea edi, [esp + 0x260]
mov dword [esp + 8], ecx
je 0x10035012
jmp 0x10035027
mov eax, dword [esp + 0xa0]
mov byte [eax + 8], 0x42
mov dword [eax + 0xc], 0
mov dword [eax + 4], 0
mov dword [eax], 2
jmp 0x100341ee
add eax, ecx
cmp edx, 4
jae 0x100356e2
mov ecx, eax
xor edi, edi
mov edx, 0x13
xor ebx, ebx
shr ecx, 8
jmp 0x1003582a
xor esi, esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 0x2f
jmp 0x10035413
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 0x2f
mov eax, dword [esp + 0x248]
xor eax, 0x2f
or eax, dword [esp + 0x24c]
je 0x100354ac
cmp dword [esp + 0x298], 0
mov ebx, ecx
je 0x1003544c
push dword [esp + 0x29c]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov ecx, ebx
cmp dword [esp + 0x2a4], 0
je 0x1003546c
push dword [esp + 0x2a8]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov ecx, ebx
cmp dword [esp + 0x2b0], 0
je 0x1003548c
push dword [esp + 0x2b4]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov ecx, ebx
cmp dword [esp + 0x2bc], 0
je 0x100354ac
push dword [esp + 0x2c0]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov ecx, ebx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24c], esi
movsd xmm0, qword [esp + 0x368]
movsd xmm1, qword [esp + 0x358]
mov esi, dword [esp + 0xc]
movzx edx, byte [esp + 0xa7]
movzx ebx, byte [esp + 0x4e]
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x254], eax
mov dword [esp + 0x25c], 0
mov dword [esp + 0x258], 0
movsd qword [edi + 0x18], xmm0
movsd xmm0, qword [esp + 0x360]
mov eax, dword [esp + 0x138]
movsd qword [edi + 8], xmm1
movsd qword [edi + 0x10], xmm0
movsd xmm0, qword [esp + 0x350]
movsd qword [edi], xmm0
mov dword [esp + 0x280], eax
mov eax, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x3b0]
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x288], eax
mov eax, dword [esp + 0x230]
mov dword [esp + 0x28c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x290], ecx
movzx ecx, byte [esp + 0xa4]
mov dword [esp + 0x294], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x298], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x29c], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x2a0], eax
mov eax, dword [esp + 0x3b8]
movsd qword [edi + 0x44], xmm0
movsd xmm0, qword [esp + 0x3a0]
mov dword [edi + 0x4c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2b0], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2b4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2b8], eax
mov eax, dword [esp + 0x3a8]
movsd qword [edi + 0x5c], xmm0
mov dword [edi + 0x64], eax
movzx eax, byte [esp + 0x17]
mov edi, dword [esp + 0x234]
mov byte [esp + 0x2c8], al
movzx eax, byte [esp + 0xb0]
mov byte [esp + 0x2c9], al
mov eax, dword [esp + 0x10]
mov word [esp + 0x2ca], ax
mov dword [esp + 0x2cc], esi
mov esi, dword [esp + 0x70]
mov dword [esp + 0x2d0], edi
mov dword [esp + 0x2d4], esi
mov byte [esp + 0x2d8], cl
movzx ecx, byte [esp + 0x4f]
mov byte [esp + 0x2d9], dl
movzx edx, byte [esp + 0xa6]
mov byte [esp + 0x2da], cl
movzx ecx, byte [esp + 0xa5]
mov byte [esp + 0x2db], dl
mov byte [esp + 0x2dc], cl
mov ecx, dword [esp + 8]
mov byte [esp + 0x2dd], bl
mov edx, ecx
xor edx, 0x2e
or edx, dword [esp + 0x2c]
je 0x100356c1
mov eax, ecx
and al, 0x3f
cmp al, 0xc
je 0x10035749
and ecx, 0x3f
jne 0x100356c1
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], ecx
lea eax, [esp + 0x238]
push 0x108
push eax
push dword [esp + 0xa8]
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x100342ff
movzx ecx, byte [esp + 0x300]
lea esi, [edx - 4]
lea edi, [eax + 4]
mov byte [esp + 0xb0], 4
mov byte [esp + 0x17], cl
mov ecx, dword [eax]
cmp ecx, 0xffffffef
jbe 0x1003572d
xor ebx, ebx
cmp ecx, 0xffffffff
je 0x100357dd
mov edx, 0x10
xor edi, edi
xor ecx, ecx
jmp 0x1003582a
add esi, dword [esp + 0xc]
xor edi, edi
mov al, 0x13
mov dword [esp + 0x18], esi
jmp 0x10035aed
mov edx, ecx
cmp esi, edx
jae 0x100358e7
mov dword [esp + 0x20], edi
mov esi, edi
mov edi, 0x13
xor ebx, ebx
jmp 0x10035846
mov eax, dword [esp + 0xb4]
mov ebx, dword [esp + 0x330]
mov esi, dword [eax + 0xc]
mov ecx, dword [eax + 8]
sub esi, ebx
jae 0x1003577e
mov dword [esp + 0xcf], ecx
mov dword [esp + 0xd3], 0
mov dl, 0x13
jmp 0x1003579e
mov al, 7
jmp 0x10035aed
movzx eax, byte [esp + 0x300]
mov byte [esp + 8], al
movzx edi, al
mov eax, dword [esp + 0x9c]
mul edi
jno 0x10035885
mov dl, 0x35
mov esi, dword [esp + 0xa0]
shld ecx, eax, 8
shl eax, 8
movzx edx, dl
or edx, eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], edx
mov edx, dword [esp + 0xd3]
mov ecx, dword [esp + 0xcf]
mov dword [esi + 0x14], edx
mov dword [esi + 0x10], ecx
mov dword [esi + 4], 0
mov dword [esi], 2
jmp 0x100341ee
cmp esi, 8
jae 0x100358bf
mov dword [esp + 0x7b], edi
mov edx, 0x13
movzx eax, byte [esp + 0x7e]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
mov byte [esp + 0xd2], al
movzx eax, word [esp + 0x7c]
mov word [esp + 0xd0], ax
mov dword [esp + 0xcc], esi
shld esi, edi, 8
shl edi, 8
mov eax, dword [esp + 0xcf]
mov ecx, eax
shr ecx, 8
mov byte [esp + 0x20], al
mov eax, ebx
mov word [esp + 0x25], bx
mov dword [esp + 0x21], ecx
or edi, edx
shld ebx, ecx, 8
shr eax, 0x10
mov byte [esp + 0x27], al
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xa0]
mov dword [ecx + 8], edi
mov dword [ecx + 0xc], esi
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], ebx
mov dword [ecx + 4], 0
mov dword [ecx], 2
jmp 0x100341ee
mov al, 0x13
mov dword [esp + 0x18], esi
jmp 0x10035aeb
mov al, 0x13
mov dword [esp + 0x18], esi
jmp 0x10035ae7
mov edx, esi
add ecx, ebx
sub edx, eax
jb 0x10035761
dec edi
cmp edi, 7
ja 0x10035c0b
mov ebx, dword [esp + 0x13c]
add ecx, eax
add ebx, dword [edi*4 + 0x10036b48]
jmp ebx
cmp dword [edi + 4], 0
jne 0x100359b7
mov ebx, dword [edi]
add eax, 0xc
add edx, 0xfffffff4
mov byte [esp + 0xb0], 8
mov esi, edx
mov edi, eax
mov edx, ebx
cmp esi, edx
jb 0x10035737
cmp edx, 2
mov esi, edi
jae 0x10035902
mov dword [esp + 0x20], esi
mov eax, dword [esp + 0x20]
mov edi, 0x13
xor ebx, ebx
jmp 0x1003584a
movzx ebx, word [esi]
mov eax, ebx
add eax, 0xfffffffa
cmp ax, 0xfffc
jae 0x1003592b
movzx eax, bx
mov dword [esp + 0x24], 0
mov edi, 0x11
xor ebx, ebx
mov dword [esp + 0x20], eax
jmp 0x10035846
lea eax, [edx - 2]
add esi, 2
cmp bx, 4
jbe 0x10035c86
test eax, eax
je 0x100358ee
cmp edx, 3
jne 0x10035b66
add edi, 3
mov dword [esp + 0x20], edi
jmp 0x100358f2
mov ecx, dword [esp + 0x1c]
mov al, 0x13
mov dword [esp + 0x18], ecx
jmp 0x10035ae7
mov ecx, dword [esp + 0xc]
lea eax, [ecx + eax + 1]
jmp 0x10035c42
mov al, 9
jmp 0x10035ae7
mov esi, dword [esp + 0x1c]
jmp 0x10035720
mov cl, 8
jmp 0x10035c44
mov al, 0x13
jmp 0x1003598a
mov al, 0xa
mov byte [esp + 0xd0], al
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], 0
jmp 0x10035096
mov edx, dword [esp + 0x34]
mov al, 0x13
mov dword [esp + 0x18], ecx
jmp 0x10035aeb
xor edi, edi
mov edx, 0x35
xor ecx, ecx
xor ebx, ebx
jmp 0x10035717
movq xmm0, qword [esp + 0x140]
mov ecx, dword [esp + 0x148]
mov esi, dword [esp + 0x14c]
mov edi, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
movd eax, xmm0
neg eax
jno 0x10035a20
mov eax, ecx
cmp al, 0x4b
je 0x10033fd4
jmp 0x100342d0
mov dword [esp + 0x80], 0xe
jmp 0x100350c1
mov ecx, dword [esp + 0xc]
lea eax, [ecx + eax + 2]
jmp 0x10035c42
mov eax, dword [0x100f2e44]
mov dword [esp + 0x238], 1
mov dword [esp + 0x23c], 1
movq qword [esp + 0x240], xmm0
mov dword [esp + 0x248], ecx
mov dword [esp + 0x24c], esi
mov dword [esp + 0x250], edx
mov dword [esp + 0x254], edi
movzx eax, byte [eax]
sub esp, 0xc
mov dword [esp + 8], 0x20
mov dword [esp + 4], 0
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
add esp, 0xc
test eax, eax
je 0x100368ac
movsd xmm0, qword [esp + 0x250]
mov esi, eax
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0x248]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x238]
movq xmm1, qword [esp + 0x240]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
mov eax, 0x4b
cmp al, 0x4b
je 0x10033fd4
jmp 0x100342d0
mov edx, dword [esp + 0x34]
mov al, 0x13
mov dword [esp + 0x18], esi
jmp 0x10035aeb
mov edx, dword [esp + 0x34]
mov al, 6
jmp 0x10035aeb
mov al, 6
mov edx, dword [esp + 0x34]
xor edi, edi
mov esi, dword [esp + 0xb0]
movzx ecx, dl
shl ecx, 8
shld dword [esp + 0x9c], esi, 0x10
shl esi, 0x10
or ecx, esi
movzx esi, al
or esi, ecx
cmp dword [esp + 0x160], 0
je 0x10035b35
cmp dword [esp + 0x164], 0
je 0x10035b35
push dword [esp + 0x168]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
movd xmm1, dword [esp + 0x18]
movd xmm2, dword [esp + 0x9c]
movd xmm0, edi
punpckldq xmm1, xmm0
movd xmm0, esi
punpckldq xmm0, xmm2
punpcklqdq xmm0, xmm1
movdqu xmmword [esp + 0xd0], xmm0
jmp 0x10035096
lea esi, [edi + 4]
movzx eax, byte [edi + 2]
mov dword [esp + 0x38], esi
cmp byte [edi + 3], 0
je 0x10035c7f
mov eax, dword [esp + 0x20]
mov edi, 0x41
jmp 0x1003584a
movzx eax, byte [esp + 8]
movzx ecx, word [esp + 0xcc]
mov dl, 0x17
mov byte [esp + 0xc8], al
movzx eax, byte [esp + 0xce]
shl eax, 0x10
or ecx, eax
mov eax, dword [esp + 0xc8]
jmp 0x1003579e
mov ecx, dword [esp + 0xc]
lea eax, [ecx + eax + 3]
mov cl, 0x13
mov byte [esp + 0xd0], cl
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], 0
jmp 0x10035096
mov cl, 6
jmp 0x10035c44
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x2c]
mov al, 0xd
jmp 0x10035aed
mov byte [esp + 0x17], al
lea eax, [edx - 4]
cmp ecx, 0xfffffff0
jb 0x10035ca4
cmp eax, 8
jb 0x10035ca9
cmp dword [esi + 4], 0
jne 0x10035d80
mov ecx, dword [esi]
add esi, 8
add eax, 0xfffffff8
jmp 0x10035cc9
cmp eax, 4
jae 0x10035cc1
mov edi, 0x13
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], 0
xor ebx, ebx
jmp 0x10035846
mov ecx, dword [esi]
add eax, 0xfffffffc
add esi, 4
sub eax, ecx
jae 0x10035cde
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], 0
jmp 0x100358f2
test ecx, ecx
mov dword [esp + 0x230], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x234], edx
mov dword [esp + 0x70], ecx
je 0x100358ee
movzx eax, byte [esi]
mov dword [esp + 0xb8], esi
test al, al
mov byte [esp + 0xa7], al
je 0x10035d8a
mov eax, dword [esp + 0x70]
cmp word [esp + 0x10], 4
mov byte [esp + 0x4f], 1
lea ecx, [eax - 1]
mov eax, dword [esp + 0xb8]
lea eax, [eax + 1]
jb 0x10035d63
test ecx, ecx
je 0x10035e56
mov eax, dword [esp + 0x70]
lea ecx, [eax - 2]
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x3c], ecx
movzx eax, byte [eax + 1]
test al, al
mov byte [esp + 0x4f], al
je 0x10035e45
mov eax, dword [esp + 0xb8]
add eax, 2
test ecx, ecx
je 0x10035e56
lea edx, [eax + 1]
cmp ecx, 1
mov dword [esp + 0x38], edx
jne 0x10035da7
mov dword [esp + 0x20], edx
jmp 0x100358f2
mov edi, 0x35
jmp 0x10035cae
mov eax, dword [esp + 0x20]
mov edi, 0x1a
jmp 0x1003584a
mov ecx, dword [esp + 0xc]
mov al, 0x13
mov dword [esp + 0x18], ecx
jmp 0x10035ae7
movzx edx, byte [eax]
mov esi, ecx
add esi, 0xfffffffe
mov dword [esp + 0x3c], esi
je 0x10035e53
mov dh, byte [eax + 1]
lea esi, [eax + 3]
mov dword [esp + 0x38], esi
mov byte [esp + 0xa6], dh
mov dh, byte [eax + 2]
test dh, dh
mov byte [esp + 0xa5], dh
je 0x10035e5f
test dl, dl
setne byte [esp + 0xa4]
cmp ecx, 3
je 0x100358ee
lea edx, [ecx - 4]
mov dword [esp + 0x3c], edx
movzx ebx, byte [eax + 3]
test bl, bl
mov byte [esp + 0x4e], bl
je 0x10035e6d
movzx ebx, byte [esp + 0x4e]
lea esi, [eax + 4]
mov dword [esp + 0x138], esi
dec bl
movzx edi, bl
sub edx, edi
mov dword [esp + 0x1bc], edi
jae 0x10035e7b
mov eax, dword [esp + 0x138]
mov edi, 0x13
xor ebx, ebx
mov dword [esp + 0x20], eax
mov esi, eax
jmp 0x10035846
mov al, 0x13
mov dword [esp + 0x18], edi
jmp 0x10035ae7
mov eax, dword [esp + 0x20]
mov edi, 0x1b
jmp 0x1003584a
add eax, 2
mov dword [esp + 0x20], eax
jmp 0x100358f2
mov eax, dword [esp + 0x20]
mov edi, 0x1c
jmp 0x1003584a
mov eax, dword [esp + 0x20]
mov edi, 0x1d
jmp 0x1003584a
mov esi, dword [esp + 0x138]
mov edi, dword [esp + 0x1bc]
cmp word [esp + 0x10], 4
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 8
mov dword [esp + 0xc4], 0
lea ebx, [esi + edi]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], edx
ja 0x10035f6b
test edx, edx
je 0x1003613d
add eax, ecx
xor esi, esi
mov dword [esp + 0x18], 8
mov dword [esp + 0x30], edi
mov edi, ebx
xor ebx, ebx
cmp byte [edi + ebx], 0
lea ecx, [edi + ebx + 1]
je 0x10035ef1
inc ebx
cmp ecx, eax
jne 0x10035edd
jmp 0x100360f3
mov eax, ebx
mov dword [esp + 0x38], ecx
not eax
add eax, edx
test ebx, ebx
mov dword [esp + 0x3c], eax
je 0x10036663
cmp esi, dword [esp + 0xbc]
jne 0x10035f27
lea ecx, [esp + 0xbc]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h3b307c49ebcbd887
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
mov eax, esi
inc esi
mov dword [esp + 0x30], edi
shl eax, 4
mov dword [ecx + eax + 4], 0
mov dword [ecx + eax], 0x1f
mov dword [ecx + eax + 8], edi
mov dword [ecx + eax + 0xc], ebx
mov dword [esp + 0xc4], esi
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
lea eax, [ebx + edx]
test edx, edx
jne 0x10035ed5
jmp 0x1003613d
lea ecx, [esp + 0xc8]
lea edx, [esp + 0x38]
call sym.gimli::read::line::FileEntryFormat::parse::hc687ddff49bc8bd6
movzx eax, byte [esp + 0xc8]
cmp eax, 0x4b
jne 0x100360f7
mov eax, dword [esp + 0xcc]
mov edi, dword [esp + 0xd0]
mov esi, dword [esp + 0xd4]
mov dword [esp + 0xac], eax
mov dword [esp + 0x98], edi
mov dword [esp + 0x134], esi
lea ecx, [esp + 0xc8]
lea edx, [esp + 0x38]
call sym.gimli::read::reader::Reader::read_uleb128::h93b77577be7a87a4
movzx eax, byte [esp + 0xc8]
cmp eax, 0x4b
jne 0x10036168
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x40], eax
or eax, ecx
mov dword [esp + 0x6c], ecx
je 0x100361b6
movzx eax, byte [esp + 0xb0]
movzx ecx, byte [esp + 0x17]
xor esi, esi
mov dword [esp + 0x44], 8
mov dword [esp + 0x18], 0
mov dword [esp + 0x34], esi
shl eax, 8
lea eax, [eax + ecx + 0x50000]
mov dword [esp + 0xa8], eax
jmp 0x10036071
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x30]
shl esi, 4
mov dword [ecx + esi], edi
mov dword [ecx + esi + 4], eax
mov eax, dword [esp + 0x28]
mov dword [ecx + esi + 8], eax
mov dword [ecx + esi + 0xc], ebx
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
cmp esi, dword [esp + 0x40]
mov dword [esp + 0xc4], esi
sbb eax, dword [esp + 0x6c]
jae 0x1003624a
add dword [esp + 0x34], 1
adc dword [esp + 0x18], 0
lea edx, [esp + 0x38]
lea ecx, [esp + 0xc8]
push dword [esp + 0x134]
push dword [esp + 0x9c]
push dword [esp + 0xb0]
call sym.gimli::read::line::parse_directory_v5::hdf93c0d33c828f17
add esp, 0xc
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov edi, dword [esp + 0xd0]
mov ebx, dword [esp + 0xdc]
test byte [esp + 0xc8], 1
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], ecx
jne 0x100361db
cmp dword [esp + 0xbc], esi
jne 0x10036036
lea ecx, [esp + 0xbc]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h3b307c49ebcbd887
jmp 0x1003602b
mov ebx, edi
jmp 0x1003613d
movzx edi, byte [esp + 0xcb]
movzx ecx, word [esp + 0xc9]
mov esi, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0xd4]
shl ecx, 8
shl edi, 0x18
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], ebx
or edi, ecx
or edi, eax
mov al, 1
mov dword [esp + 8], eax
jmp 0x100361ef
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0x98], 2
mov edi, 0x13
xor ebx, ebx
mov dword [esp + 0xac], 0
jmp 0x100361e7
movzx edi, byte [esp + 0xcb]
movzx ecx, word [esp + 0xc9]
mov esi, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0xd4]
shl ecx, 8
shl edi, 0x18
mov dword [esp + 0x30], esi
mov dword [esp + 0x20], edx
or edi, ecx
or edi, eax
jmp 0x100361e3
push 0x100ed52c
push 5
push esi
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
add esp, 0xc
jmp 0x100368b8
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 8
mov dword [esp + 0x7c], 0
mov dword [esp + 0x34], 0
jmp 0x1003629c
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 8], 0
cmp dword [esp + 0xbc], 0
je 0x1003620d
push dword [esp + 0xc0]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0xac], 0
mov ecx, dword [esp + 8]
sete al
or cl, al
je 0x10036229
mov esi, dword [esp + 0x30]
jmp 0x10035846
push dword [esp + 0x98]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
jmp 0x10035846
mov dword [esp + 0x34], 0
cmp word [esp + 0x10], 5
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 8
mov dword [esp + 0x7c], 0
jae 0x1003629c
xor esi, esi
cmp dword [esp + 0x80], 0
je 0x10036689
pxor xmm0, xmm0
mov dword [esp + 0x18], 0x1f
movdqa xmmword [esp + 0x140], xmm0
jmp 0x10036691
lea ecx, [esp + 0xc8]
lea edx, [esp + 0x38]
call sym.gimli::read::line::FileEntryFormat::parse::hc687ddff49bc8bd6
movzx eax, byte [esp + 0xc8]
cmp eax, 0x4b
jne 0x100364e8
mov eax, dword [esp + 0xcc]
mov edi, dword [esp + 0xd0]
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x40], eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x44], esi
lea ecx, [esp + 0xc8]
lea edx, [esp + 0x38]
call sym.gimli::read::reader::Reader::read_uleb128::h93b77577be7a87a4
movzx eax, byte [esp + 0xc8]
cmp eax, 0x4b
jne 0x1003656b
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x18], 0x2e
mov dword [esp + 0x224], eax
or eax, ecx
mov dword [esp + 0x220], ecx
je 0x100365bb
movzx eax, byte [esp + 0xb0]
movzx ecx, byte [esp + 0x17]
mov esi, 8
mov dword [esp + 0xa8], 0
mov dword [esp + 0x6c], 0
shl eax, 8
lea eax, [eax + ecx + 0x50000]
mov dword [esp + 0x21c], eax
xor eax, eax
mov dword [esp + 0x130], eax
jmp 0x1003640e
mov esi, dword [esp + 0x78]
imul eax, dword [esp + 0x6c], 0x38
mov ecx, dword [esp + 0x228]
mov edx, dword [esp + 0xa8]
mov dword [esi + eax + 4], ecx
mov ecx, dword [esp + 0x22c]
mov dword [esi + eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [esi + eax + 8], edi
mov dword [esi + eax + 0xc], ecx
mov ecx, dword [esp + 0x1b8]
mov dword [esi + eax + 0x10], ecx
mov dword [esi + eax + 0x14], ebx
mov ecx, dword [esp + 0x130]
movsd xmm0, qword [esp + 0x160]
movq xmm1, qword [esp + 0x168]
cmp ecx, dword [esp + 0x224]
mov dword [esp + 0x6c], ecx
movsd qword [esi + eax + 0x18], xmm0
movq qword [esi + eax + 0x20], xmm1
movsd xmm0, qword [esp + 0x170]
sbb edx, dword [esp + 0x220]
movsd qword [esi + eax + 0x28], xmm0
movq xmm0, qword [esp + 0x178]
movq qword [esi + eax + 0x30], xmm0
mov dword [esp + 0x7c], ecx
jae 0x100365bb
add dword [esp + 0x130], 1
adc dword [esp + 0xa8], 0
lea edx, [esp + 0x38]
lea ecx, [esp + 0xc8]
push dword [esp + 0x44]
push dword [esp + 0x2c]
push dword [esp + 0x224]
call sym.gimli::read::line::parse_file_v5::h9a11be3b36c21d85
add esp, 0xc
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov edi, dword [esp + 0xd0]
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0x22c], eax
xor eax, 0x2e
mov dword [esp + 0x228], ecx
or eax, ecx
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x1b8], ecx
je 0x10036885
lea eax, [esp + 0xe0]
mov ecx, dword [esp + 0x6c]
movsd xmm1, qword [eax + 0x10]
movq xmm0, qword [eax + 0x18]
movq xmm2, qword [eax]
cmp dword [esp + 0x74], ecx
movsd qword [esp + 0x170], xmm1
movq xmm1, qword [eax + 8]
movq qword [esp + 0x178], xmm0
movq qword [esp + 0x160], xmm2
movq qword [esp + 0x168], xmm1
jne 0x10036373
lea ecx, [esp + 0x74]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hbd8cb98f1da2a0d2
jmp 0x1003636f
movzx edi, byte [esp + 0xcb]
movzx ecx, word [esp + 0xc9]
mov esi, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0xd4]
shl ecx, 8
shl edi, 0x18
mov dword [esp + 0x30], esi
mov dword [esp + 0x20], edx
or edi, ecx
or edi, eax
mov al, 1
mov dword [esp + 8], eax
cmp dword [esp + 0x74], 0
mov dword [esp + 0x24], ebx
je 0x10036541
push dword [esp + 0x78]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x40], 0
mov ecx, dword [esp + 8]
sete al
or cl, al
jne 0x100361e7
push dword [esp + 0x28]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
jmp 0x100361e7
movzx edi, byte [esp + 0xcb]
movzx ecx, word [esp + 0xc9]
mov esi, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0xd4]
mov dword [esp + 8], 0
shl ecx, 8
shl edi, 0x18
mov dword [esp + 0x30], esi
mov dword [esp + 0x20], edx
or edi, ecx
or edi, eax
cmp dword [esp + 0x74], 0
mov dword [esp + 0x24], ebx
jne 0x10036530
jmp 0x10036541
xor esi, esi
mov eax, dword [esp + 0x70]
movdqa xmm2, xmmword [esp + 0x140]
movsd xmm1, qword [esp + 0x74]
movq xmm0, qword [esp + 0xbc]
mov ecx, dword [esp + 0x34]
lea edi, [esp + 0x260]
add dword [esp + 0xb8], eax
mov eax, dword [esp + 0xc4]
movdqa xmmword [esp + 0x1d0], xmm2
movsd qword [esp + 0x3a0], xmm1
pxor xmm2, xmm2
movq qword [esp + 0x3b0], xmm0
movdqa xmm1, xmmword [esp + 0x1d0]
movdqa xmmword [esp + 0x1c0], xmm2
movdqa xmmword [esp + 0x350], xmm2
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x7c]
movdqa xmmword [esp + 0x360], xmm1
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x248]
xor eax, 0x2f
or eax, dword [esp + 0x24c]
jne 0x1003542a
jmp 0x100354ac
mov dword [esp + 0x98], 2
mov dword [esp + 0x134], 0
mov dword [esp + 0xac], 0
jmp 0x10036252
mov dword [esp + 0x18], 0x2e
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
test eax, eax
je 0x1003684e
lea ecx, [edx + eax]
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 8
mov edi, dword [esp + 0x28]
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], edi
xor edi, edi
mov edx, dword [esp + 0x28]
cmp byte [edx + edi], 0
lea edx, [edx + edi + 1]
je 0x100366da
inc edi
cmp edx, ecx
jne 0x100366c2
jmp 0x10036848
mov ecx, edi
mov dword [esp + 0x38], edx
not ecx
add ecx, eax
test edi, edi
mov dword [esp + 0x3c], ecx
je 0x100368ba
lea ecx, [esp + 0xc8]
lea edx, [esp + 0x38]
push edi
push dword [esp + 0x2c]
call sym.gimli::read::line::FileEntry_LT_R_C_Offset_GT_::parse::h1419d74f9774de44
add esp, 8
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov edi, dword [esp + 0xd0]
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0xa8], eax
xor eax, 0x2e
mov dword [esp + 0x130], ecx
or eax, ecx
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x6c], ecx
je 0x100368d7
lea eax, [esp + 0xe0]
mov ecx, dword [esp + 0x44]
movsd xmm1, qword [eax + 0x10]
movq xmm0, qword [eax + 0x18]
movq xmm2, qword [eax]
cmp ecx, dword [esp + 0x74]
movsd qword [esp + 0x3d0], xmm1
movq xmm1, qword [eax + 8]
movq qword [esp + 0x3d8], xmm0
movq qword [esp + 0x3c0], xmm2
movq qword [esp + 0x3c8], xmm1
jne 0x100367ac
lea ecx, [esp + 0x74]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hbd8cb98f1da2a0d2
mov eax, dword [esp + 0x78]
mov dword [esp + 0x40], eax
imul edx, dword [esp + 0x44], 0x38
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x130]
mov dword [eax + edx + 4], ecx
mov ecx, dword [esp + 0xa8]
mov dword [eax + edx], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + edx + 8], edi
mov edi, dword [esp + 0x28]
mov dword [eax + edx + 0xc], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x30], edi
mov dword [eax + edx + 0x10], ecx
mov dword [eax + edx + 0x14], ebx
movsd xmm0, qword [esp + 0x3c0]
movq xmm1, qword [esp + 0x3c8]
movsd qword [eax + edx + 0x18], xmm0
movq qword [eax + edx + 0x20], xmm1
movsd xmm0, qword [esp + 0x3d0]
movsd qword [eax + edx + 0x28], xmm0
movq xmm0, qword [esp + 0x3d8]
movq qword [eax + edx + 0x30], xmm0
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
inc eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
lea ecx, [edx + eax]
test eax, eax
jne 0x100366b4
jmp 0x1003684e
mov edx, dword [esp + 0x28]
jmp 0x1003684e
mov edi, 0x13
xor ebx, ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], 2
mov dword [esp + 0x40], 0
mov dword [esp + 8], 0
cmp dword [esp + 0x74], 0
mov dword [esp + 0x24], ebx
jne 0x10036530
jmp 0x10036541
mov eax, dword [esp + 0x1b8]
mov dword [esp + 8], 0
mov dword [esp + 0x20], eax
cmp dword [esp + 0x74], 0
mov dword [esp + 0x24], ebx
jne 0x10036530
jmp 0x10036541
push 0x20
push 4
call sym.alloc::alloc::handle_alloc_error::h3ca6a9ac69c8e3db
add esp, 8
ud2
mov dword [esp + 0x28], 2
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
jmp 0x100365bd
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x28], 2
mov dword [esp + 0x20], eax
jmp 0x10036861