Function at 0x535080
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc0
mov esi, dword [ecx + 4]
mov edi, dword [ecx]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x74], edx
mov eax, dword [esi + 0xac]
movzx ecx, byte [edi + 0x27c]
mov dword [esp + 0x88], eax
mov eax, edx
movsd xmm0, qword [esi + 0xa4]
and eax, 0x7ffffff
mov dword [esp + 0x90], eax
shr eax, cl
call 0x5350cd
pop ecx
mov dword [esp + 0x78], ecx
movsd qword [esp + 0x80], xmm0
mov dword [esi + 0xa4], 0
mov dword [esi + 0xa8], 1
mov dword [esi + 0xac], 0
mov edx, dword [esi + 0x94]
cmp eax, edx
jae 0x5360fd
mov edx, dword [esi + 0x90]
movzx ecx, byte [edi + 0x50]
mov ebx, dword [edx + eax*8]
mov edx, dword [edx + eax*8 + 4]
mov eax, dword [edi + 0x278]
mov dword [esi + 0x48], 0
mov byte [esp + 0x20], cl
mov dword [esi + 0x64], 0
test edx, edx
je 0x5360e5
mov dword [esp + 0x10], eax
movzx eax, byte [eax + 0x15c]
mov dword [esp + 4], 9
mov byte [esp + 0x1c], al
lea eax, [ebx + 8]
test byte [eax], 2
je 0x535183
cmp edx, 0xc
jbe 0x536256
mov ecx, dword [ebx + 0x11]
test ecx, ecx
je 0x535183
cmp ecx, 0x40000000
jae 0x5362d0
shl ecx, 2
add ecx, 0xd
mov dword [esp + 4], ecx
jb 0x5362e4
mov ecx, dword [esp + 4]
cmp edx, ecx
jb 0x536229
mov dword [esp + 0x24], edx
sub edx, ecx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x94], edi
mov dword [esp + 8], esi
mov dword [esp + 0x6c], eax
mov dword [esp], edx
je 0x5352d1
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
add ecx, eax
xor edi, edi
mov dword [esp + 4], 0
mov dword [esp + 0x18], ebx
mov dword [esp + 0x2c], edx
mov ebx, dword [esi + 0x34]
mov edx, dword [esi + 0x38]
mov esi, ecx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0xc], edx
jmp 0x5351f2
mov eax, dword [esp]
add esi, ebx
sub eax, ebx
test eax, eax
mov dword [esp], eax
je 0x5352d3
mov dword [esp + 0x14], edi
xor edi, edi
xor ecx, ecx
xor ebx, ebx
nop dword [eax]
movzx eax, byte [esi + ebx]
mov edx, esi
movzx esi, al
test al, al
jns 0x535230
and esi, 0x7f
inc ebx
shl esi, cl
add ecx, 7
or edi, esi
cmp dword [esp], ebx
mov esi, edx
jne 0x535200
xor esi, esi
xor ebx, ebx
jmp 0x53523e
inc ebx
shl esi, cl
cmp ebx, dword [esp]
ja 0x5361bf
or esi, edi
mov ecx, dword [esp + 4]
mov eax, esi
and esi, 1
mov edi, dword [esp + 0x14]
shr eax, 1
neg esi
xor esi, eax
add ecx, esi
cmp dword [esp + 0x18], ecx
mov dword [esp + 0x8c], ecx
jbe 0x535cbc
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov esi, edx
mov ecx, dword [eax + ecx*4]
cmp ecx, edi
jae 0x535290
cmp ecx, dword [esp + 0xc]
jae 0x5360d7
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 4]
cmp dword [eax + ecx*4], edx
je 0x5351e0
cmp edi, dword [esp + 0xc]
mov dword [esp + 0x98], edi
jae 0x53614b
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 4]
mov dword [eax + edi*4], ecx
mov ecx, dword [esp + 0x8c]
cmp ecx, dword [esp + 0x18]
jae 0x5360a9
mov eax, dword [esp + 0x2c]
mov dword [eax + ecx*4], edi
mov ecx, dword [esp + 8]
inc edi
mov dword [ecx + 0x48], edi
jmp 0x5351e0
xor edi, edi
mov edx, dword [esp + 0x24]
cmp edx, 5
jb 0x536233
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0x10]
add edx, 0xfffffffb
cmp edx, 3
jbe 0x5361ec
mov ecx, dword [ebp + 8]
lea eax, [ebx + 0x98]
lea edx, [ebx + 0x4c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], edx
mov eax, ecx
shr eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0xd]
test ecx, ecx
mov dword [esp + 4], ecx
je 0x535502
mov ecx, dword [eax + 9]
mov eax, dword [ebp + 8]
mov dword [esp + 0x14], edi
test al, 1
jne 0x53534c
mov ebx, dword [esp]
cmp bl, 0xa
je 0x535356
movzx edx, bl
mov esi, ecx
cmp edx, 0xd
jne 0x53536d
cmp byte [esp + 0x1c], 0
jne 0x53535d
jmp 0x535368
mov ebx, dword [esp]
mov esi, ecx
or esi, 0x2a
jmp 0x53536d
cmp byte [esp + 0x1c], 0
jne 0x535368
mov edx, dword [esp + 0x6c]
mov esi, ecx
test byte [edx], 8
jne 0x53536d
mov esi, ecx
or esi, 0x20
mov edi, dword [esp + 0x10]
mov edx, esi
mov dword [esp + 0xc], ecx
or edx, 8
cmp byte [edi + 0x158], bl
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0x6c]
cmovne edx, esi
test bl, 1
movzx ebx, byte [edi]
cmovne edx, esi
test bl, 8
jne 0x5353a6
mov edi, dword [esp + 0x14]
mov ecx, dword [ebp + 8]
test cl, 1
je 0x5353d6
jmp 0x535418
cmp byte [esp + 0x1c], 0
je 0x5353bd
mov edi, dword [esp + 0x14]
test al, 1
jne 0x5353cb
cmp byte [esp], 0xd
je 0x5353d6
jmp 0x5353cb
mov edi, dword [esp + 0x14]
test al, 1
jne 0x5353cb
cmp byte [esp], 0xa
je 0x5353d6
or edx, 0x10
mov ecx, dword [ebp + 8]
test cl, 1
jne 0x535418
movzx esi, byte [esp]
and bl, 4
mov eax, edx
mov edx, 0x280
shr bl, 2
mov bh, byte [esi + 0x54ed68]
test bh, bh
setne cl
xor cl, bl
mov ecx, 0x140
cmovne edx, ecx
or edx, eax
mov ecx, edx
or ecx, 0x28000
test bl, bl
je 0x53544a
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
test bh, bh
jne 0x53545d
jmp 0x535440
shr bl, 2
mov ecx, edi
mov esi, 0x28140
mov edi, 0x28280
mov eax, dword [esp + 0xc]
test bl, 1
cmovne edi, esi
mov esi, dword [esp + 0x10]
or edx, edi
mov edi, ecx
test bl, 1
mov ecx, edx
je 0x53545d
or ecx, 0x2800
mov edx, ecx
jmp 0x53545d
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
or edx, 0x1400
test bh, bh
cmove edx, ecx
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 8]
not eax
and ecx, eax
test ecx, edx
je 0x535502
mov eax, edx
mov edx, dword [ebx + 0x38]
cmp edi, edx
ja 0x53620c
mov ebx, dword [ebx + 0x34]
test edi, edi
je 0x5354c2
mov esi, dword [esp + 0x2c]
shl edi, 2
mov dword [esp + 4], eax
mov edx, dword [ebx]
mov ecx, dword [esp + 0x10]
add ebx, 4
push esi
push dword [esp + 0x1c]
push dword [esp + 0xc]
call fcn.004835a0
add esp, 0xc
add edi, 0xfffffffc
jne 0x535490
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0x10]
mov ebx, dword [ecx + 0x34]
mov edx, dword [ecx + 0x38]
mov edi, dword [ecx + 0x64]
jmp 0x5354c8
mov ecx, dword [esp + 8]
xor edi, edi
mov eax, dword [ecx + 0x30]
movups xmm0, xmmword [ecx + 0x4c]
mov dword [ecx + 0x4c], eax
mov dword [ecx + 0x50], ebx
mov dword [ecx + 0x54], edx
mov ebx, ecx
mov eax, dword [ecx + 0x44]
movsd xmm1, qword [ecx + 0x5c]
movsd xmm2, qword [ecx + 0x3c]
movups xmmword [ecx + 0x30], xmm0
movsd qword [ecx + 0x58], xmm2
movsd qword [ecx + 0x40], xmm1
mov dword [ecx + 0x60], eax
mov dword [ecx + 0x48], edi
mov dword [ecx + 0x64], 0
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x88]
sub eax, edx
cmp eax, 8
jbe 0x535c9f
mov eax, dword [esp + 0x84]
mov ecx, dword [ebp + 8]
mov dword [eax + edx + 4], 0
mov dword [eax + edx], 0
mov byte [eax + edx + 8], 0
add edx, 9
mov dword [esp + 0x88], edx
mov dword [esp + 0x38], edx
movsd xmm0, qword [esp + 0x80]
movsd qword [esp + 0x30], xmm0
mov eax, dword [esi + 0x130]
test al, 0x3c
je 0x5355b2
test cl, 1
jne 0x5355b2
mov edx, dword [esp]
cmp byte [esi + 0x158], dl
jne 0x5355b2
mov edx, dword [esp + 0x38]
test edx, edx
je 0x536218
cmp edx, 4
jbe 0x5361eb
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 1]
mov ebx, ecx
mov edx, ecx
or bl, 4
shr edx, 0x10
mov byte [eax + 1], bl
mov byte [eax + 2], ch
shr ecx, 0x18
mov byte [eax + 3], dl
mov ebx, dword [esp + 8]
mov byte [eax + 4], cl
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 0x130]
test al, 0x30
je 0x535617
cmp byte [esp + 0x1c], 0
je 0x5355ca
test cl, 1
jne 0x535617
cmp byte [esp], 0xd
je 0x5355d5
jmp 0x535617
test cl, 1
jne 0x535617
cmp byte [esp], 0xa
jne 0x535617
mov edx, dword [esp + 0x38]
test edx, edx
je 0x536218
cmp edx, 4
jbe 0x5361eb
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 1]
mov ebx, ecx
mov edx, ecx
or bl, 0x10
shr edx, 0x10
mov byte [eax + 1], bl
mov byte [eax + 2], ch
shr ecx, 0x18
mov byte [eax + 3], dl
mov ebx, dword [esp + 8]
mov byte [eax + 4], cl
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 0x130]
test eax, 0x3ffc0
je 0x535666
test cl, 1
jne 0x535630
movzx eax, byte [esp]
cmp byte [eax + 0x54ed68], 0
jne 0x535666
mov edx, dword [esp + 0x38]
test edx, edx
je 0x536218
cmp edx, 4
jbe 0x5361eb
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 1]
mov edx, ecx
mov byte [eax + 1], cl
shr ecx, 0x18
or edx, 0x14000
mov byte [eax + 2], dh
shr edx, 0x10
mov byte [eax + 3], dl
mov byte [eax + 4], cl
mov edx, dword [ebx + 0x38]
cmp edi, edx
ja 0x53620c
test edi, edi
je 0x5359bb
mov eax, edi
mov edi, dword [ebx + 0x34]
mov edx, dword [esi + 0x148]
mov ecx, dword [edi]
cmp edx, ecx
jbe 0x535cca
movzx edx, byte [esp]
lea eax, [edi + eax*4]
mov dword [esp + 4], eax
mov dword [esp + 0xc], edx
nop dword [eax]
mov edx, dword [esi + 0x144]
lea ecx, [ecx + ecx*4]
add edi, 4
lea eax, [edx + ecx*4]
mov ecx, dword [edx + ecx*4]
mov ecx, dword [ecx*4 + 0x536364]
add ecx, dword [esp + 0x78]
jmp ecx
mov edx, dword [esp + 0x38]
test edx, edx
je 0x5360e5
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
test byte [ecx], 2
je 0x5359f9
lea esi, [edx - 0xd]
mov edi, esi
and edi, 3
mov dword [esp + 0x7c], edi
jne 0x536265
cmp edx, 0xc
jbe 0x536285
shr esi, 2
mov dword [ecx + 9], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x50]
mov ecx, esi
mov dword [esp + 0x5c], 0
push eax
call fcn.00483a00
add esp, 4
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x58]
mov edx, dword [ebx + 0x94]
mov esi, dword [esp + 0x94]
mov dword [esp + 0x14], ecx
lea eax, [eax + eax*2]
lea ecx, [ecx + edx*8 + 0x14]
lea eax, [ecx + eax*4]
mov ecx, dword [ebx + 0x88]
add eax, dword [ebx + 0xa4]
add ecx, dword [ebx + 0x7c]
add eax, dword [ebx + 0x68]
add ecx, dword [ebx + 0x38]
add ecx, dword [ebx + 0x44]
add ecx, dword [ebx + 0x54]
add ecx, dword [ebx + 0x60]
add ecx, dword [ebx + 0x98]
lea edi, [eax + ecx*4]
mov ecx, dword [esi + 0x27c]
mov eax, 4
and ecx, 0x1f
shl eax, cl
add edi, eax
mov eax, dword [esi + 0x280]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x78], edi
cmp edi, eax
mov edi, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x10], esi
jbe 0x535afe
mov eax, dword [esp + 0x90]
shr eax, cl
mov ecx, eax
cmp eax, edx
jae 0x536117
mov eax, dword [ebx + 0x90]
mov dword [esp + 0xc], edi
mov esi, dword [eax + ecx*8]
mov edi, dword [eax + ecx*8 + 4]
lock inc dword [esi]
jle 0x536254
cmp dword [ebx + 0x20], 1
jne 0x535adf
mov eax, dword [ebx + 0x28]
lock dec dword [eax]
jne 0x535adf
mov ecx, dword [ebx + 0x28]
mov edx, dword [ebx + 0x2c]
call fcn.0040e0b0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x28]
mov dword [ebx + 0x20], 1
mov dword [ebx + 0x24], eax
mov dword [ebx + 0x28], esi
mov dword [ebx + 0x2c], edi
mov edi, dword [esp + 0xc]
mov ebx, dword [ecx + 4]
mov edx, edi
mov esi, edi
mov edi, dword [esp + 0x14]
mov ecx, ebx
push edi
call fcn.00483dd0
add esp, 4
test eax, eax
je 0x535b5c
mov edi, dword [eax]
mov eax, dword [ebx + 0xa8]
cmp dword [ebx + 0xa4], 0
mov ecx, dword [esp + 0x10]
mov dword [ebx + 0xa4], ecx
mov dword [ebx + 0xa8], esi
mov dword [ebx + 0xac], 0
je 0x535b4f
push eax
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x4c]
mov esi, edi
xor edi, edi
jmp 0x536037
test edi, edi
mov dword [esp + 0xc], esi
js 0x536294
lea eax, [edi - 0x7ffffff5]
mov dword [esp + 8], ebx
cmp eax, 0x80000002
jbe 0x5362b2
add edi, 0xb
mov ebx, 4
mov eax, 4
and edi, 0xfffffffc
je 0x535bc4
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x535bb2
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5362f8
mov dword [0x5a1188], eax
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x5362f8
mov ecx, dword [esp + 0x14]
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [esp + 0x1c], eax
add eax, 8
lea esi, [ecx + 0x14]
push ecx
push dword [esp + 0x10]
mov dword [esp + 8], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esp + 8]
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 0x94]
lea ecx, [esi + edx*8]
lea eax, [eax + eax*2]
mov esi, dword [esp + 0x28]
lea eax, [ecx + eax*4]
mov ecx, dword [edi + 0x88]
add eax, dword [edi + 0xa4]
add ecx, dword [edi + 0x7c]
add eax, dword [edi + 0x68]
add ecx, dword [edi + 0x38]
add ecx, dword [edi + 0x44]
add ecx, dword [edi + 0x54]
add ecx, dword [edi + 0x60]
add ecx, dword [edi + 0x98]
mov edi, dword [esi]
lea eax, [eax + ecx*4]
movzx ecx, byte [edi + 0x27c]
shl ebx, cl
add eax, ebx
cmp eax, dword [edi + 0x280]
jbe 0x535cf5
cmp dword [edi + 0x30], 1
jne 0x535cea
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x6c]
cmp eax, dword [edi + 0x34]
jb 0x535cea
cmp dword [edi + 0x38], 1
jne 0x535d00
mov dword [esp + 0x24], edi
mov eax, dword [edi + 0x3c]
mov edi, dword [esp + 8]
mov esi, dword [edi + 0x70]
cmp dword [edi + 0xb0], 0
je 0x535cd4
mov ecx, dword [edi + 0xb8]
mov edi, dword [edi + 0xb4]
mov ebx, ecx
sub ebx, edi
neg ebx
sub ecx, edi
cmovb ecx, ebx
jmp 0x535cd6
lea ecx, [esp + 0x80]
push 9
call fcn.0052fcb0
add esp, 4
mov edx, dword [esp + 0x88]
jmp 0x53551b
mov edx, dword [esp + 0x18]
push 0x54fa1c
call fcn.00532ca0
push 0x54e52c
call fcn.00532ca0
xor ecx, ecx
mov edi, dword [esp + 0x24]
add ecx, esi
mul edx
mov edx, 0xffffffff
cmovno edx, eax
cmp ecx, edx
jb 0x535d00
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.00482560
mov ecx, esi
call fcn.00482bf0
test eax, eax
je 0x535d1e
mov ecx, dword [esp + 0x1c]
mov edi, 1
lock dec dword [ecx]
jne 0x535d17
mov edx, dword [esp + 0x14]
call fcn.0040e0b0
xor ebx, ebx
jmp 0x535fe4
cmp dword [esp + 0x14], 0
mov dword [esp + 4], edx
je 0x536121
mov eax, dword [esp]
mov edx, dword [esp + 8]
mov ebx, dword [edi + 0x27c]
mov dword [esp + 0x24], edi
mov edi, 1
movzx esi, byte [eax]
mov eax, dword [edx + 0x74]
mov edx, dword [edx + 0x7c]
and ebx, 0x1f
mov ecx, ebx
shl edi, cl
sub eax, edx
and esi, 1
cmp eax, edi
jb 0x5360b7
mov eax, dword [esp + 8]
shl esi, 0x1b
cmp ebx, 3
mov eax, dword [eax + 0x78]
jb 0x535da7
movaps xmm0, xmmword [0x539440]
mov ecx, edi
mov dword [esp + 0x20], esi
and edi, 6
lea esi, [eax + edx*4 + 0x10]
and ecx, 0xfffffff8
add edx, ecx
mov ebx, ecx
nop word [eax + eax]
movups xmmword [esi - 0x10], xmm0
movups xmmword [esi], xmm0
add esi, 0x20
add ebx, 0xfffffff8
jne 0x535d90
mov esi, dword [esp + 0x20]
test ecx, ecx
jne 0x535dbf
mov ecx, edx
nop dword [eax]
lea edx, [ecx + 1]
mov dword [eax + ecx*4], 0x80000000
dec edi
mov ecx, edx
jne 0x535db0
or esi, dword [esp + 4]
mov edi, dword [esp + 8]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x24]
mov dword [edi + 0x7c], edx
mov ecx, dword [esi + 0x264]
mov eax, dword [esi + 0x258]
mov edx, dword [esi + 0x260]
mov ebx, dword [esi + 0x25c]
or edx, dword [esi + 0x270]
or eax, dword [esi + 0x268]
or ecx, dword [esi + 0x274]
or ebx, dword [esi + 0x26c]
or eax, edx
or ebx, ecx
or ebx, eax
je 0x535f80
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x27c]
and ecx, 0x1f
cmp ecx, 0x1b
jae 0x536304
mov edx, 2
shl edx, cl
cmp edx, 0x8000000
jae 0x536335
mov eax, dword [esp + 0x24]
or edx, 0x20000000
xor esi, esi
mov dword [esp + 0x70], edx
add eax, 0x258
mov dword [esp + 0x2c], eax
cmp esi, 0x101
mov eax, 0x100
cmovae eax, esi
mov dword [esp + 0x18], eax
nop word cs:[eax + eax]
nop dword [eax]
cmp dword [esp + 0x18], esi
je 0x535f80
mov eax, esi
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], 1
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], 0
mov dword [esp], esi
mov ecx, eax
mov eax, dword [esp]
and al, 7
and cl, 0x78
shr cl, 3
neg cl
movsx ebx, cl
mov ecx, eax
mov esi, dword [esp + ebx + 0xb4]
mov edx, dword [esp + ebx + 0xb8]
shld edx, esi, cl
shl esi, cl
not cl
mov dword [esp + 4], edx
mov edx, dword [esp + ebx + 0xb0]
mov ebx, dword [esp + ebx + 0xac]
mov edi, edx
shr edi, 1
shr edi, cl
mov ecx, eax
mov eax, dword [esp + 0x2c]
or edi, esi
mov esi, dword [esp]
shld edx, ebx, cl
shl ebx, cl
mov ecx, dword [esp + 4]
shr esi, 3
and esi, 0x10
and edi, dword [eax + esi + 8]
and ebx, dword [eax + esi]
and ecx, dword [eax + esi + 0xc]
and edx, dword [eax + esi + 4]
mov eax, dword [esp]
or ebx, edi
mov edi, dword [esp + 8]
or edx, ecx
lea esi, [eax + 1]
or edx, ebx
je 0x535e70
cmp eax, 0xff
ja 0x535f80
mov ecx, dword [esp + 0x24]
shl eax, 8
mov edx, edi
movzx eax, ax
push dword [esp + 0x70]
push eax
push dword [esp + 0x28]
call fcn.00482cc0
add esp, 0xc
jmp 0x535e50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
add dword [edi + 0x68], eax
lock inc dword [ecx]
jle 0x536254
mov edx, dword [edi + 0x94]
cmp edx, dword [edi + 0x8c]
jne 0x535fb7
lea ecx, [edi + 0x8c]
call fcn.0040e570
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi + 0x94]
mov eax, dword [edi + 0x90]
mov esi, dword [esp + 0x14]
mov dword [eax + edx*8], ecx
mov dword [eax + edx*8 + 4], esi
inc edx
mov dword [edi + 0x94], edx
mov edx, ecx
mov ecx, edi
push dword [esp + 0x20]
push esi
call fcn.00482db0
add esp, 8
xor edi, edi
mov bl, 1
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 0xa8]
cmp dword [ecx + 0xa4], 0
mov dword [ecx + 0xa4], edx
mov dword [ecx + 0xa8], esi
mov esi, ecx
mov dword [ecx + 0xac], 0
je 0x536029
push eax
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
test bl, bl
mov ebx, esi
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x20]
je 0x53609d
cmp dword [esp + 0x78], eax
jbe 0x536072
mov ecx, dword [ebx + 0x24]
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x2c]
mov dword [esp + 0x74], ecx
mov ecx, dword [ebx + 0x28]
cmp eax, 1
mov dword [ebx + 0x20], 0
je 0x536078
cmp eax, 2
je 0x536082
mov ecx, str.state_saver_does_not_have_saved_state_ID_
mov edx, 0x28
push 0x54cbc4
call fcn.005330a0
mov eax, dword [esp + 0x28]
jmp 0x536089
lock dec dword [ecx]
jne 0x536082
call fcn.0040e0b0
mov eax, dword [esp + 0x28]
mov ebx, dword [eax + 4]
mov ecx, dword [eax]
mov edx, ebx
push esi
push dword [ebp + 8]
push dword [esp + 0x7c]
call fcn.00482cc0
add esp, 0xc
mov eax, edi
mov edx, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 0x18]
push 0x54fa0c
call fcn.00532ca0
mov dword [esp + 0x20], esi
mov esi, dword [esp + 8]
lea ecx, [esi + 0x74]
push edi
call fcn.005343d0
add esp, 4
mov edx, dword [esi + 0x7c]
mov esi, dword [esp + 0x20]
jmp 0x535d60
mov edx, dword [esp + 0xc]
push 0x54fa2c
call fcn.00532ca0
xor ecx, ecx
xor edx, edx
push 0x54f560
call fcn.00532ca0
push 0x54e778
call fcn.00532ca0
mov ecx, eax
push 0x54caac
call fcn.00532ca0
xor ecx, ecx
xor edx, edx
push 0x54f5f0
call fcn.00532ca0
push 0x54cd04
call fcn.00532ca0
xor ecx, ecx
xor edx, edx
push 0x54f550
call fcn.00532ca0
xor ecx, ecx
xor edx, edx
push 0x54f600
call fcn.00532ca0
xor ecx, ecx
xor edx, edx
push 0x54f610
call fcn.00532ca0
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x98]
lea ecx, [esp + 0x7c]
mov dword [esp + 0x30], 0x54f9e4
mov dword [esp + 0x34], 3
mov dword [esp + 0x40], 0
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], fcn.00441540
mov dword [esp + 0x58], ecx
lea ecx, [esp + 0x50]
lea edx, [esp + 0x8c]
mov dword [esp + 0x5c], fcn.00441540
mov dword [esp + 0x60], edx
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x30]
mov edx, 0x54f9fc
mov dword [esp + 0x64], 0x473870
mov dword [esp + 0x3c], 3
mov dword [esp + 0x7c], eax
call fcn.00532c10
mov edx, dword [esp]
mov ecx, ebx
push 0x54f5a0
call fcn.00532c40
mov ecx, ebx
push 0x54f640
call fcn.00532c40
mov ecx, 4
mov edx, eax
push 0x54f4bc
call fcn.00532d00
dec edx
mov ecx, 4
push 0x54ed38
call fcn.00532d00
mov ecx, 1
xor edx, edx
push 0x54f540
call fcn.00532c40
mov ecx, edi
push 0x54e8dc
call fcn.00532d00
mov ecx, 1
xor edx, edx
push 0x54f570
call fcn.00532c40
push 0x54f5b0
call fcn.00532c40
mov ecx, 5
push 0x54f580
call fcn.00532c40
dec eax
mov ecx, 4
mov edx, eax
push 0x54ed38
call fcn.00532d00
ud2
mov ecx, 0xd
push 0x54f5e0
call fcn.00532d00
mov dword [esp + 0x50], 0
lea eax, [esp + 0x50]
lea ecx, [esp + 0x7c]
mov edx, 0x550bd0
push 0x54f630
push eax
call fcn.005336b0
mov ecx, 0xd
push 0x54f620
call fcn.00532d00
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x54bbf4
push 0x54bafc
lea eax, [esp + 0x58]
push eax
call fcn.00533020
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x53d250
push 0x53d144
lea eax, [esp + 0x58]
push eax
call fcn.00533020
mov ecx, 0x59e39c
mov edx, 0x2b
push 0x54f5c0
call fcn.00532d60
mov ecx, 0x59e39c
mov edx, 0x2b
push 0x54f5d0
call fcn.00532d60
mov ecx, 4
mov edx, edi
call fcn.00531970
mov eax, 1
mov edx, 0x2b
mov dword [esp + 0x54], 0
shl eax, cl
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov dword [esp + 0x50], eax
push 0x54cd14
push 0x54badc
lea eax, [esp + 0x58]
push eax
call fcn.00533020
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0x8000000
push 0x54cd24
push 0x54badc
lea eax, [esp + 0x58]
push eax
call fcn.00533020
nop
or eax, 0x46000006
push es
add byte [eax], al
lodsb al, byte [esi]
push es
add byte [eax], al
add eax, 0x5f20000
add byte [eax], al
add eax, 0x5f20000
add byte [eax], al
add eax, 0x70d0000
add byte [eax], al
int3