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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x2f8
mov esi, esp
mov dword [esi + 0x2e0], ebp
lea eax, [esi + 0x2e8]
mov dword [esi + 0xf8], ecx
lea edi, [esi + 0x68]
mov dword [eax - 4], esp
or dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x586bd0
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov dword fs:[0], eax
and dword [eax + 8], 0
and dword [edi + 0xc], 0
and dword [edi + 8], 0
and dword [edi + 4], 0
mov dword [esi + 0x38], edx
mov dword [edi], 1
mov eax, dword [ecx + 0x2c]
mov dword [esi + 0x3c], ecx
lea ecx, [esi + 0x1b0]
push edi
mov dword [esi + 0xf0], edx
push edx
push ecx
mov dword [esi + 4], eax
call eax
add esp, 0xc
cmp dword [esi + 0x1b0], 0
je 0x54190c
mov ebx, dword [esi + 0x1b4]
mov edi, dword [esi + 0x1b8]
xor ecx, ecx
jmp 0x5419e3
mov edx, dword [esi + 0x1b8]
mov edi, dword [esi + 0x1bc]
xor eax, eax
mov ecx, edx
mov ebx, edi
sub ecx, 0x10015
sbb ebx, eax
cmovb ebx, eax
cmovb ecx, eax
cmp edx, 0x16
mov dword [esi + 0xc], ebx
mov ebx, edi
mov dword [esi + 0x10], ecx
sbb ebx, eax
jae 0x54194b
mov ebx, 0x64ad3c
push 0x12
pop edi
xor ecx, ecx
inc ecx
jmp 0x5419e3
add edx, 0xffffffea
adc edi, 0xffffffff
cmp edx, dword [esi + 0x10]
mov eax, edi
sbb eax, dword [esi + 0xc]
jb 0x5419d8
mov dword [esi + 0x74], edi
mov dword [esi + 0x70], edx
and dword [esi + 0x6c], 0
and dword [esi + 0x68], 0
lea eax, [esi + 0x68]
mov dword [esi + 0x14], edi
mov dword [esi + 8], edx
push eax
push dword [esi + 0xf0]
lea eax, [esi + 0x1b0]
push eax
call dword [esi + 4]
add esp, 0xc
cmp dword [esi + 0x1b0], 0
jne 0x5418f9
mov edx, dword [esi + 0xf0]
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.0054160f
pop eax
cmp byte [esi + 0x68], 4
jne 0x5419b0
mov eax, dword [esi + 0x6c]
jmp 0x5419bf
mov ebx, dword [esi + 0x68]
mov eax, dword [esi + 0x6c]
cmp bl, 4
jne 0x541abe
cmp eax, 0x6054b50
je 0x541a1d
mov edx, dword [esi + 8]
mov edi, dword [esi + 0x14]
sub edx, 1
sbb edi, 0
jae 0x541951
xor ecx, ecx
mov ebx, str.Could_not_find_central_directory_endInvalid_zip_headerInvalid_digital_signature_headerCould_not_find_ZIP64_central_directory_endInvalid_zip64_locator_digital_signature_header
inc ecx
push 0x24
pop edi
mov eax, dword [esi + 0xf8]
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
mov dword [eax], 1
or dword [esi + 0x2f0], 0xffffffff
lea eax, [esi + 0x38]
push eax
call fcn.004f8986
pop eax
mov eax, dword [esi + 0x2e8]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
and dword [esi + 0x74], 0
mov dword [esi + 0x70], 0x10
and dword [esi + 0x6c], 0
lea eax, [esi + 0x68]
mov dword [esi + 0x68], 2
push eax
push dword [esi + 0xf0]
lea eax, [esi + 0x1b0]
push eax
call dword [esi + 4]
add esp, 0xc
cmp dword [esi + 0x1b0], 0
jne 0x5418f9
mov eax, dword [esi + 0x14]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x70], eax
and dword [esi + 0x6c], 0
and dword [esi + 0x68], 0
lea eax, [esi + 0x68]
push eax
push dword [esi + 0xf0]
lea eax, [esi + 0x1b0]
push eax
call dword [esi + 4]
add esp, 0xc
cmp dword [esi + 0x1b0], 0
jne 0x5418f9
mov eax, dword [esi + 0x1b8]
mov ecx, dword [esi + 0x1bc]
mov edx, dword [esi + 0xf0]
mov dword [esi + 8], ecx
mov dword [esi + 0x14], eax
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.0054160f
pop eax
cmp byte [esi + 0x68], 4
jne 0x541ac7
mov edi, dword [esi + 0x6c]
jmp 0x541ad6
xor ecx, ecx
mov edi, eax
jmp 0x5419e3
mov ebx, dword [esi + 0x68]
mov edi, dword [esi + 0x6c]
cmp bl, 4
jne 0x541905
cmp edi, 0x6054b50
jne 0x541afd
mov edx, dword [esi + 0x38]
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
jne 0x541b09
movzx eax, word [esi + 0x6a]
mov word [esi + 0x10], ax
jmp 0x541b1e
mov ebx, 0x64ad4e
push 0x20
jmp 0x541942
mov ebx, dword [esi + 0x68]
cmp bl, 4
jne 0x541c83
shr ebx, 0x10
mov eax, ebx
mov word [esi + 0x10], bx
mov edx, dword [esi + 0x38]
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
jne 0x541b3d
movzx eax, word [esi + 0x6a]
mov word [esi + 0xc], ax
jmp 0x541b52
mov ebx, dword [esi + 0x68]
cmp bl, 4
jne 0x541c83
shr ebx, 0x10
mov eax, ebx
mov word [esi + 0xc], bx
mov edx, dword [esi + 0x38]
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
jne 0x541b71
movzx eax, word [esi + 0x6a]
mov word [esi + 0x30], ax
jmp 0x541b86
mov ebx, dword [esi + 0x68]
cmp bl, 4
jne 0x541c83
shr ebx, 0x10
mov eax, ebx
mov word [esi + 0x30], bx
mov edx, dword [esi + 0x38]
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
jne 0x541ba5
movzx eax, word [esi + 0x6a]
mov word [esi + 0x54], ax
jmp 0x541bba
mov ebx, dword [esi + 0x68]
cmp bl, 4
jne 0x541c83
shr ebx, 0x10
mov eax, ebx
mov word [esi + 0x54], bx
mov edx, dword [esi + 0x38]
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.0054160f
pop eax
cmp byte [esi + 0x68], 4
jne 0x541bd7
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x58], eax
jmp 0x541be9
mov ebx, dword [esi + 0x68]
mov eax, dword [esi + 0x6c]
cmp bl, 4
mov dword [esi + 0x58], eax
jne 0x541c8b
mov edx, dword [esi + 0x38]
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.0054160f
pop eax
cmp byte [esi + 0x68], 4
jne 0x541c06
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x50], eax
jmp 0x541c18
mov ebx, dword [esi + 0x68]
mov edi, dword [esi + 0x6c]
cmp bl, 4
jne 0x541905
mov dword [esi + 0x50], edi
mov edx, dword [esi + 0x38]
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
jne 0x541c33
movzx ebx, word [esi + 0x6a]
jmp 0x541c3e
mov ebx, dword [esi + 0x68]
cmp bl, 4
jne 0x541c83
shr ebx, 0x10
movzx edx, bx
lea ecx, [esi + 0x68]
call fcn.005739d0
mov edx, dword [esi + 0x70]
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x38]
mov dword [esi + 0x2f0], 1
mov dword [esi + 0x18], edx
push edx
mov dword [esi + 0x5c], ecx
push ecx
push eax
lea eax, [esi + 0x1b0]
push eax
mov eax, dword [ebp + 8]
call dword [eax + 0x20]
add esp, 0x10
cmp byte [esi + 0x1b0], 4
jne 0x541c93
mov ebx, dword [esi + 0x18]
jmp 0x541ca3
mov edi, dword [esi + 0x6c]
jmp 0x541905
mov edi, dword [esi + 0x58]
jmp 0x541905
cmp byte [esi + 0x1b0], 4
mov ebx, dword [esi + 0x18]
jne 0x541d27
mov eax, dword [esi + 0x68]
cmp eax, 0x80000000
jne 0x541cb8
mov ecx, dword [esi + 0x5c]
mov edi, dword [esi + 0x58]
jmp 0x5419e3
mov edx, dword [esi + 0x5c]
lea ecx, [esi + 0x254]
movzx edi, word [esi + 0xc]
mov dword [ecx + 4], edx
mov edx, dword [esi + 0x58]
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], edx
mov edx, dword [esi + 0x50]
mov dword [ecx + 0x10], edx
movzx edx, word [esi + 0x10]
mov word [ecx + 0x14], dx
movzx edx, word [esi + 0x30]
mov word [ecx + 0x16], di
mov word [ecx + 0x18], dx
movzx edx, word [esi + 0x54]
mov word [ecx + 0x1a], dx
mov dword [ecx], eax
call fcn.00541799
test al, al
mov byte [esi + 0x54], al
jne 0x541d43
cmp word [esi + 0x10], di
je 0x541d43
mov eax, dword [esi + 0xf8]
mov dword [eax + 4], 2
mov dword [eax + 8], 0x64ac5b
mov dword [eax + 0xc], 0x2f
jmp 0x542ee8
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x5c]
mov ebx, dword [esi + 0x1b0]
mov edi, dword [esi + 0x1b4]
call fcn.0041b0e1
jmp 0x541905
xor eax, eax
dec eax
push 0xffffffffffffffd6
pop ecx
sub ecx, ebx
mov byte [esi + 1], 0
mov dword [esi + 0x2f0], 2
sbb eax, 0
mov dword [esi + 0x70], ecx
lea ecx, [esi + 0x68]
mov dword [esi + 0x74], eax
and dword [esi + 0x6c], 0
mov eax, dword [esi + 0x38]
mov dword [esi + 0x68], 1
push ecx
push eax
lea eax, [esi + 0x1b0]
push eax
call dword [esi + 4]
add esp, 0xc
lea ecx, [esi + 0x1b0]
mov byte [esi + 1], 0
mov eax, dword [ecx]
mov dword [esi + 0xc], eax
call fcn.00541788
cmp dword [esi + 0xc], 0
je 0x541dfa
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 8]
cmp dword [esi + 0x14], eax
sbb ecx, 0
jae 0x541db3
mov dword [esi + 0x70], 0x28
jmp 0x541de2
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 8]
mov dword [esi + 0x6c], 0x64ac33
mov dword [esi + 0x70], 0x28
mov dword [esi + 0x68], 1
sub ecx, dword [esi + 0x58]
sbb eax, 0
cmp ecx, dword [esi + 0x50]
mov dword [esi + 0x10], ecx
mov dword [esi + 8], eax
sbb eax, 0
jae 0x541e2b
mov eax, dword [esi + 0x70]
mov dword [esi + 0x18], 0x64ac33
mov dword [esi + 0xc], eax
xor eax, eax
inc eax
mov dword [esi + 0x10], eax
jmp 0x542ed0
mov edx, dword [esi + 0x38]
mov byte [esi + 1], 0
lea ecx, [esi + 0x1b0]
push dword [ebp + 8]
call fcn.0054160f
pop eax
cmp byte [esi + 0x1b0], 4
jne 0x541ea6
mov eax, dword [esi + 0x1b4]
mov dword [esi + 0xc], eax
jmp 0x541ec1
lea eax, [esi + 0x68]
mov byte [esi + 1], 0
push eax
call fcn.00541773
pop eax
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 8]
movzx ecx, word [esi + 0x30]
sub eax, dword [esi + 0x50]
mov dword [esi + 0x58], ecx
sbb edx, 0
mov dword [esi + 0x54], eax
mov dword [esi + 0x50], edx
mov eax, dword [esi + 0x58]
xor ecx, ecx
cmp eax, dword [esi + 0x14]
cmovbe ecx, eax
test ecx, ecx
mov dword [esi + 0x14], ecx
je 0x541f24
cmp dword [esi + 0x14], 0xffffff
ja 0x54353a
mov edi, dword [esi + 0x14]
shl edi, 7
js 0x543545
push 8
pop ecx
mov edx, edi
call fcn.004ac6b7
test eax, eax
jne 0x541f27
mov byte [esi + 1], 0
push 8
pop ecx
mov edx, edi
call fcn.00599e40
jmp 0x54354e
mov ecx, dword [esi + 0x1b0]
mov eax, dword [esi + 0x1b4]
cmp cl, 4
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], ecx
jne 0x542eb9
cmp dword [esi + 0xc], 0x7064b50
jne 0x541efb
mov edx, dword [esi + 0x38]
mov byte [esi + 1], 0
lea ecx, [esi + 0x1b0]
push dword [ebp + 8]
call fcn.0054160f
pop eax
cmp byte [esi + 0x1b0], 4
jne 0x542e65
mov eax, dword [esi + 0x1b4]
mov dword [esi + 0xc], eax
jmp 0x542e7c
xor ecx, ecx
lea eax, [esi + 0x6c]
mov byte [esi + 1], 0
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], 0x64ad98
mov dword [eax + 8], 0x2e
mov dword [eax - 4], ecx
push eax
call fcn.00541773
pop eax
jmp 0x541d9c
push 8
pop eax
mov ecx, dword [esi + 0x14]
mov byte [esi + 0x2a], 1
mov dword [esi + 0x2f0], 3
mov dword [esi + 0x110], ecx
mov dword [esi + 0x114], eax
and dword [esi + 0x118], 0
lea ecx, [esi + 0x68]
call fcn.00486293
lea ecx, [esi + 0x240]
lea edx, [esi + 0x68]
mov byte [esi + 0x2a], 1
call fcn.005437f8
mov eax, dword [esi + 0x24c]
lea ecx, [esi + 0x68]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x248]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x240]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x244]
mov byte [esi + 0x2a], 1
mov dword [esi + 0x18], eax
push 0x10
pop edx
push dword [esi + 0x14]
call fcn.00543a98
pop eax
movsd xmm0, qword [esi + 0x68]
movsd xmm1, qword [esi + 0x70]
mov eax, dword [esi + 0x5c]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
mov dword [esi + 0x2f0], 4
movsd qword [esi + 0x158], xmm1
movsd qword [esi + 0x150], xmm0
mov dword [esi + 0x160], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x164], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x168], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x16c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x70], eax
and dword [esi + 0x6c], 0
and dword [esi + 0x68], 0
lea eax, [esi + 0x68]
push eax
push dword [esi + 0xf0]
lea eax, [esi + 0x1b0]
push eax
call dword [esi + 4]
add esp, 0xc
cmp dword [esi + 0x1b0], 0
je 0x542054
lea ecx, [esi + 0x1b0]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
call fcn.00541788
mov ecx, dword [esi + 0xf8]
xor eax, eax
inc eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x64acda
mov dword [ecx + 0xc], 0x2c
mov dword [ecx], eax
jmp 0x543236
lea ecx, [esi + 0x1b0]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
call fcn.00541788
push 2
pop eax
mov dword [esi + 0x100], eax
xor eax, eax
mov dword [esi + 0x134], 0
inc eax
mov dword [esi + 0x20], eax
push 0x20
pop eax
mov dword [esi + 0x24], eax
push 0x2e
pop eax
mov dword [esi + 0xfc], eax
push 0x2b
pop eax
mov ecx, dword [ebp + 8]
mov dword [esi + 0xe8], eax
mov dword [esi + 0x18], 0
mov dword [esi + 0x14], ecx
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x58]
jae 0x5430b1
mov eax, dword [esi + 0x38]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
mov dword [esi + 0x2f0], 4
mov dword [esi + 8], eax
push eax
lea eax, [esi + 0x68]
push eax
mov eax, dword [esi + 0x14]
call dword [eax + 0x38]
add esp, 8
cmp dword [esi + 0x68], 0
jne 0x54316e
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x74]
mov edx, dword [esi + 8]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
mov dword [esi + 0x1a0], ecx
mov dword [esi + 0x10c], eax
lea ecx, [esi + 0x68]
push dword [esi + 0x14]
call fcn.0054160f
pop eax
cmp byte [esi + 0x68], 4
jne 0x542115
mov eax, dword [esi + 0x6c]
jmp 0x542127
mov ecx, dword [esi + 0x68]
mov eax, dword [esi + 0x6c]
cmp cl, 4
mov dword [esi + 4], ecx
jne 0x5432f7
cmp eax, 0x2014b50
jne 0x543186
mov edx, dword [esi + 8]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
lea ecx, [esi + 0x68]
push dword [esi + 0x14]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
jne 0x542158
movzx eax, word [esi + 0x6a]
mov dword [esi + 4], eax
jmp 0x54216a
mov eax, dword [esi + 0x68]
cmp al, 4
mov dword [esi + 4], eax
jne 0x5430a9
shr dword [esi + 4], 0x10
mov edx, dword [esi + 8]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
lea ecx, [esi + 0x68]
push dword [esi + 0x14]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
je 0x542191
cmp byte [esi + 0x68], 4
jne 0x5430a3
mov edx, dword [esi + 8]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
lea ecx, [esi + 0x68]
push dword [esi + 0x14]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
jne 0x5421b7
movzx eax, word [esi + 0x6a]
mov dword [esi + 0x10], eax
jmp 0x5421ca
mov eax, dword [esi + 0x68]
mov ecx, eax
cmp al, 4
jne 0x542f91
shr ecx, 0x10
mov dword [esi + 0x10], ecx
mov edx, dword [esi + 8]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
lea ecx, [esi + 0x68]
push dword [esi + 0x14]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
jne 0x5421f0
movzx eax, word [esi + 0x6a]
mov dword [esi + 0xc], eax
jmp 0x542203
mov eax, dword [esi + 0x68]
mov ecx, eax
cmp al, 4
jne 0x542f91
shr ecx, 0x10
mov dword [esi + 0xc], ecx
mov edx, dword [esi + 8]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
lea ecx, [esi + 0x68]
push dword [esi + 0x14]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
jne 0x542229
movzx eax, word [esi + 0x6a]
mov dword [esi + 0x30], eax
jmp 0x54223c
mov eax, dword [esi + 0x68]
mov ecx, eax
cmp al, 4
jne 0x542f91
shr ecx, 0x10
mov dword [esi + 0x30], ecx
mov edx, dword [esi + 8]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
lea ecx, [esi + 0x68]
push dword [esi + 0x14]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
jne 0x542262
movzx eax, word [esi + 0x6a]
mov dword [esi + 0x5c], eax
jmp 0x542275
mov eax, dword [esi + 0x68]
mov ecx, eax
cmp al, 4
jne 0x542f91
shr ecx, 0x10
mov dword [esi + 0x5c], ecx
mov eax, dword [esi + 0x3c]
mov edx, dword [esi + 8]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
lea ecx, [esi + 0x68]
mov dword [esi + 0x14], eax
push eax
call fcn.0054160f
pop eax
cmp byte [esi + 0x68], 4
jne 0x5422a1
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x13c], eax
jmp 0x5422b5
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
cmp al, 4
mov dword [esi + 0x13c], ecx
jne 0x543303
mov edx, dword [esi + 8]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
lea ecx, [esi + 0x68]
push dword [esi + 0x14]
call fcn.0054160f
pop eax
cmp byte [esi + 0x68], 4
jne 0x5422dd
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x138], eax
jmp 0x5422f1
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
cmp al, 4
mov dword [esi + 0x138], ecx
jne 0x54330b
mov edx, dword [esi + 8]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
lea ecx, [esi + 0x68]
push dword [esi + 0x14]
call fcn.0054160f
pop eax
cmp byte [esi + 0x68], 4
jne 0x542319
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x130], eax
jmp 0x54232d
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
cmp al, 4
mov dword [esi + 0x130], ecx
jne 0x543313
mov edx, dword [esi + 8]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
lea ecx, [esi + 0x68]
push dword [esi + 0x14]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
jne 0x542353
movzx eax, word [esi + 0x6a]
mov dword [esi + 0x64], eax
jmp 0x542366
mov eax, dword [esi + 0x68]
mov ecx, eax
cmp al, 4
jne 0x542f91
shr ecx, 0x10
mov dword [esi + 0x64], ecx
mov edx, dword [esi + 8]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
lea ecx, [esi + 0x68]
push dword [esi + 0x14]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
jne 0x54238f
movzx eax, word [esi + 0x6a]
mov dword [esi + 0xec], eax
jmp 0x5423a5
mov eax, dword [esi + 0x68]
mov ecx, eax
cmp al, 4
jne 0x542f91
shr ecx, 0x10
mov dword [esi + 0xec], ecx
mov edx, dword [esi + 8]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
lea ecx, [esi + 0x68]
push dword [esi + 0x14]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
jne 0x5423ce
movzx eax, word [esi + 0x6a]
mov dword [esi + 0xf4], eax
jmp 0x5423e4
mov eax, dword [esi + 0x68]
mov ecx, eax
cmp al, 4
jne 0x542f91
shr ecx, 0x10
mov dword [esi + 0xf4], ecx
mov edx, dword [esi + 8]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
lea ecx, [esi + 0x68]
push dword [esi + 0x14]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
je 0x54240b
cmp byte [esi + 0x68], 4
jne 0x5430a3
mov edx, dword [esi + 8]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
lea ecx, [esi + 0x68]
push dword [esi + 0x14]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
je 0x542432
cmp byte [esi + 0x68], 4
jne 0x5430a3
mov edx, dword [esi + 8]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
lea ecx, [esi + 0x68]
push dword [esi + 0x14]
call fcn.0054160f
pop eax
cmp byte [esi + 0x68], 4
jne 0x54245a
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x12c], eax
jmp 0x54246e
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
cmp al, 4
mov dword [esi + 0x12c], ecx
jne 0x54331b
mov edx, dword [esi + 8]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
lea ecx, [esi + 0x68]
push dword [esi + 0x14]
call fcn.0054160f
pop eax
cmp byte [esi + 0x68], 4
jne 0x542496
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x128], eax
jmp 0x5424aa
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
cmp al, 4
mov dword [esi + 0x128], ecx
jne 0x543323
movzx edx, word [esi + 0x64]
lea ecx, [esi + 0x17c]
mov byte [esi + 2], 0
mov byte [esi + 3], 1
call fcn.005739d0
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x184]
mov ecx, dword [esi + 0x180]
mov edi, dword [eax + 0x20]
mov byte [esi + 0x2b], 0
mov dword [esi + 0x2f0], 5
mov dword [esi + 0x104], edx
push edx
mov dword [esi + 0x108], ecx
push ecx
push dword [esi + 8]
lea eax, [esi + 0x68]
push eax
mov dword [esi + 0x64], edi
call edi
add esp, 0x10
cmp byte [esi + 0x68], 4
je 0x54250e
cmp byte [esi + 0x68], 4
jne 0x54333b
movzx edx, word [esi + 0xec]
lea ecx, [esi + 0x188]
mov byte [esi + 0x2b], 0
call fcn.005739d0
mov eax, dword [esi + 0x190]
mov ecx, dword [esi + 0x18c]
mov byte [esi + 0x2c], 1
mov dword [esi + 0x2f0], 6
push eax
mov dword [esi + 0x178], ecx
push ecx
push dword [esi + 8]
lea eax, [esi + 0x68]
push eax
call dword [esi + 0x64]
add esp, 0x10
cmp byte [esi + 0x68], 4
je 0x542563
cmp byte [esi + 0x68], 4
jne 0x543356
movzx edx, word [esi + 0xf4]
lea ecx, [esi + 0x194]
mov byte [esi + 0x2c], 1
call fcn.005739d0
mov edx, dword [esi + 0x19c]
mov ecx, dword [esi + 0x198]
mov al, 1
mov dword [esi + 0x2f0], 7
mov byte [esi + 0x1e], al
mov byte [esi + 0x1f], al
mov dword [esi + 0xf4], edx
push edx
mov dword [esi + 0xec], ecx
push ecx
push dword [esi + 8]
lea eax, [esi + 0x68]
push eax
call dword [esi + 0x64]
add esp, 0x10
cmp byte [esi + 0x68], 4
je 0x5425c2
cmp byte [esi + 0x68], 4
jne 0x543371
bt dword [esi + 0x10], 0xb
jb 0x542632
mov edx, dword [esi + 0x108]
mov al, 1
lea ecx, [esi + 0x68]
mov byte [esi + 0x1e], al
mov byte [esi + 0x1f], al
push dword [esi + 0x104]
call fcn.0046b89b
pop eax
mov al, 1
lea ecx, [esi + 0x1a4]
lea edx, [esi + 0x68]
mov byte [esi + 0x1e], al
mov byte [esi + 0x1f], al
call fcn.00582b08
xor eax, eax
lea ecx, [esi + 0x234]
lea edx, [esi + 0x194]
mov dword [esi + 0x174], 0
mov byte [esi + 0x2f], 1
mov dword [esi + 0x2f0], 8
mov byte [esi + 0x2d], al
mov byte [esi + 0x2e], al
call fcn.00582b08
jmp 0x5426b2
mov edx, dword [esi + 0x108]
mov al, 1
lea ecx, [esi + 0x68]
mov byte [esi + 0x1e], al
mov byte [esi + 0x1f], al
push dword [esi + 0x104]
call fcn.00415200
pop eax
mov al, 1
lea ecx, [esi + 0x1a4]
lea edx, [esi + 0x68]
mov byte [esi + 0x1e], al
mov byte [esi + 0x1f], al
call fcn.004f7380
mov edx, dword [esi + 0xec]
mov al, 1
mov byte [esi + 0x2e], 0
mov dword [esi + 0x2f0], 8
lea ecx, [esi + 0x68]
mov byte [esi + 0x2d], al
mov byte [esi + 0x2f], al
push dword [esi + 0xf4]
call fcn.00415200
pop eax
mov al, 1
lea ecx, [esi + 0x234]
lea edx, [esi + 0x68]
mov byte [esi + 0x2e], 0
mov byte [esi + 0x2d], al
mov byte [esi + 0x2f], al
call fcn.004f7380
mov al, 1
mov dword [esi + 0x174], eax
mov ecx, dword [esi + 0x30]
inc dword [esi + 0x18]
xor ebx, ebx
mov edi, dword [esi + 0x1ac]
movsd xmm0, qword [esi + 0x1a4]
movzx eax, cx
shr ecx, 5
mov edx, eax
mov dword [esi + 0x30], ecx
add dl, al
shr eax, 0xb
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x5c]
and dl, 0x3e
mov byte [esi + 0xf4], dl
mov edx, dword [esi + 0xc]
mov ecx, eax
movzx eax, ax
shr eax, 9
shr ecx, 5
add eax, 0x7bc
cmp dx, 8
setne bl
mov dword [esi + 8], eax
xor eax, eax
inc ebx
test dx, dx
mov edx, dword [esi + 4]
cmove ebx, eax
cmp dh, 3
mov dl, 4
sete dh
sub dl, dh
mov byte [esi + 0x104], dl
lea edx, [esi + 0x78]
mov dword [edx + 0x30], edi
movsd qword [edx + 0x28], xmm0
mov edi, dword [esi + 0x184]
movsd xmm0, qword [esi + 0x17c]
mov dword [edx + 0x3c], edi
movsd qword [edx + 0x34], xmm0
mov edi, dword [esi + 0x190]
movsd xmm0, qword [esi + 0x188]
lea edx, [esi + 0xb8]
mov dword [edx + 8], edi
movsd qword [edx], xmm0
mov edi, dword [esi + 0x23c]
movsd xmm0, qword [esi + 0x234]
lea edx, [esi + 0x78]
mov dword [edx + 0x54], edi
movsd qword [edx + 0x4c], xmm0
mov edx, dword [esi + 4]
mov edi, dword [esi + 0x10]
test dh, dh
movzx edx, byte [esi + 0x104]
cmove edx, eax
and ecx, 0xf
and dword [esi + 0x144], 0
and dword [esi + 0x140], 0
mov byte [esi + 0xe1], dl
mov edx, dword [esi + 4]
shl ecx, 0x10
mov byte [esi + 0xe2], dl
mov edx, edi
and dl, 1
mov byte [esi + 0xde], dl
mov edx, edi
shr dl, 3
mov edi, dword [esi + 0x30]
and dl, 1
mov byte [esi + 0xdf], dl
mov edx, dword [esi + 0xc]
mov word [esi + 0xd0], bx
and edi, 0x3f
shl edi, 8
mov word [esi + 0xd2], dx
movzx edx, byte [esi + 0xf4]
and dword [esi + 0x68], 0
shl edx, 0x10
or edi, edx
add edi, dword [esi + 0x64]
mov edx, edi
mov edi, dword [esi + 0x5c]
mov dword [esi + 0x74], edx
mov edx, dword [esi + 0x138]
and edi, 0x1f
shl edi, 0x18
or ecx, edi
mov edi, dword [esi + 0x13c]
add ecx, dword [esi + 8]
mov dword [esi + 0x70], ecx
mov dword [esi + 0xd4], edi
mov edi, dword [esi + 0x130]
mov dword [esi + 0x78], edx
mov edx, dword [esi + 0x128]
and dword [esi + 0x7c], 0
and dword [esi + 0x84], 0
mov dword [esi + 0x80], edi
mov edi, dword [esi + 0x1a0]
mov dword [esi + 0x88], edx
mov edx, dword [esi + 0x10c]
and dword [esi + 0x8c], 0
mov dword [esi + 0x94], edi
mov edi, dword [esi + 0x12c]
mov dword [esi + 0x90], edx
and dword [esi + 0x9c], 0
and dword [esi + 0x98], 0
lea edx, [esi + 0xb8]
mov dword [esi + 0x148], edx
mov dword [esi + 0xd8], edi
mov byte [esi + 0xe0], 0
mov byte [esi + 0xdd], 2
cmp dword [esi + 0xc0], eax
jbe 0x542bb6
lea ecx, [esi + 0x40]
lea edx, [esi + 0x140]
mov dword [esi + 0x2f0], 9
call fcn.00583473
cmp byte [esi + 0x40], 4
jne 0x5428c1
movzx eax, word [esi + 0x42]
jmp 0x5428d2
mov ecx, dword [esi + 0x40]
mov eax, ecx
cmp cl, 4
jne 0x542b8b
shr eax, 0x10
lea ecx, [esi + 0x40]
lea edx, [esi + 0x140]
mov dword [esi + 8], eax
call fcn.00583473
cmp byte [esi + 0x40], 4
jne 0x5428ef
movzx eax, word [esi + 0x42]
jmp 0x542900
mov ecx, dword [esi + 0x40]
mov eax, ecx
cmp cl, 4
jne 0x542b8b
shr eax, 0x10
cmp word [esi + 8], 1
mov dword [esi + 4], eax
je 0x542945
movzx eax, word [esi + 8]
cmp eax, 0x9901
jne 0x54299d
cmp word [esi + 4], 7
jne 0x54307b
lea ecx, [esi + 0x40]
lea edx, [esi + 0x140]
call fcn.00583473
cmp byte [esi + 0x40], 4
jne 0x542a55
movzx eax, word [esi + 0x42]
jmp 0x542a66
mov eax, dword [esi + 0x80]
not eax
or eax, dword [esi + 0x84]
jne 0x5429b0
lea ecx, [esi + 0x40]
lea edx, [esi + 0x140]
mov byte [esi + 0xe0], 1
call fcn.005834ec
cmp dword [esi + 0x40], 0
jne 0x542b90
movzx edx, word [esi + 4]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x48]
mov dword [esi + 0x84], ecx
add edx, 0xfffffff8
mov ecx, 0
mov dword [esi + 0x80], eax
adc ecx, 0xffffffff
mov dword [esi + 8], edx
mov dword [esi + 4], ecx
jmp 0x5429be
movzx eax, word [esi + 4]
mov dword [esi + 4], 0
mov dword [esi + 8], eax
jmp 0x542a3d
movzx eax, word [esi + 4]
mov dword [esi + 4], 0
mov dword [esi + 8], eax
mov eax, dword [esi + 0x78]
not eax
or eax, dword [esi + 0x7c]
jne 0x5429fb
lea ecx, [esi + 0x40]
lea edx, [esi + 0x140]
mov byte [esi + 0xe0], 1
call fcn.005834ec
cmp dword [esi + 0x40], 0
jne 0x542b90
add dword [esi + 8], 0xfffffff8
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
adc dword [esi + 4], 0xffffffff
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x88]
not eax
or eax, dword [esi + 0x8c]
jne 0x542a3d
lea ecx, [esi + 0x40]
lea edx, [esi + 0x140]
call fcn.005834ec
cmp dword [esi + 0x40], 0
jne 0x542b90
add dword [esi + 8], 0xfffffff8
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
adc dword [esi + 4], 0xffffffff
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x88], eax
mov eax, dword [esi + 8]
neg eax
mov eax, 0
sbb eax, dword [esi + 4]
jl 0x542b5f
jmp 0x542b80
mov ecx, dword [esi + 0x40]
mov eax, ecx
cmp cl, 4
jne 0x542b8b
shr eax, 0x10
lea ecx, [esi + 0x40]
lea edx, [esi + 0x140]
mov dword [esi + 8], eax
call fcn.00583473
cmp byte [esi + 0x40], 4
jne 0x542a83
movzx eax, word [esi + 0x42]
jmp 0x542a94
mov ecx, dword [esi + 0x40]
mov eax, ecx
cmp cl, 4
jne 0x542b8b
shr eax, 0x10
mov dword [esi + 4], eax
mov byte [esi + 0x63], 0
lea ecx, [esi + 0x40]
lea edx, [esi + 0x140]
push 1
lea eax, [esi + 0x63]
push eax
call fcn.00582a34
pop eax
pop ecx
cmp byte [esi + 0x40], 4
je 0x542ac2
mov eax, dword [esi + 0x40]
cmp al, 4
jne 0x542b8b
mov al, byte [esi + 0x63]
lea ecx, [esi + 0x40]
lea edx, [esi + 0x140]
mov byte [esi + 0xc], al
call fcn.00583473
cmp byte [esi + 0x40], 4
jne 0x542ae2
movzx eax, word [esi + 0x42]
jmp 0x542af0
mov eax, dword [esi + 0x40]
cmp al, 4
jne 0x542b8b
shr eax, 0x10
cmp word [esi + 4], 0x4541
jne 0x543087
cmp word [esi + 8], 1
je 0x542b14
movzx ecx, word [esi + 8]
cmp ecx, 2
jne 0x54318f
mov cl, 1
jmp 0x542b16
xor ecx, ecx
mov dh, byte [esi + 0xc]
dec dh
cmp dh, 2
ja 0x543095
mov byte [esi + 0xdc], dh
mov byte [esi + 0xdd], cl
xor ecx, ecx
cmp ax, 8
mov dl, dh
mov dword [esi + 4], 0
setne cl
xor edx, edx
inc ecx
test ax, ax
cmove ecx, edx
mov word [esi + 0xd0], cx
mov word [esi + 0xd2], ax
push 7
pop eax
mov dword [esi + 8], eax
lea ecx, [esi + 0x40]
lea edx, [esi + 0x140]
push dword [esi + 4]
push dword [esi + 8]
push 0
push 2
call fcn.00582a9f
add esp, 0x10
cmp dword [esi + 0x40], 0
jne 0x542b90
mov eax, dword [esi + 0x140]
jmp 0x542891
mov ecx, dword [esi + 0x44]
jmp 0x542b96
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x48]
and dword [esi + 0x11c], 0
mov dword [esi + 0x120], eax
lea eax, [esi + 0x11c]
mov dword [esi + 0x124], ecx
push eax
call fcn.00541773
pop eax
cmp word [esi + 0xd0], 2
jne 0x542bd7
cmp word [esi + 0xd2], 0x63
jne 0x542bd7
cmp byte [esi + 0xdd], 2
je 0x543268
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0x44], 0x64abed
mov dword [esi + 0x48], 0x1b
mov dword [esi + 0x40], 1
add eax, dword [esi + 0x54]
adc ecx, dword [esi + 0x50]
mov dword [esi + 8], eax
mov dword [esi + 4], ecx
jb 0x543283
lea eax, [esi + 0x40]
mov dword [esi + 0x2f0], 9
push eax
call fcn.00541773
pop eax
mov eax, dword [esi + 8]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x6c]
mov edi, dword [esi + 0x68]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x74]
mov dword [esi + 0xc], eax
push 0x70
lea eax, [esi + 0x78]
push eax
lea eax, [esi + 0x270]
push eax
call fcn.0058a110
add esp, 0xc
bt dword [esi + 0x10], 0xb
jae 0x542c72
mov ecx, dword [esi + 0x194]
mov edx, dword [esi + 0xec]
call fcn.0041b0e1
cmp edi, 2
je 0x5432a9
push 0x70
lea ebx, [esi + 0x270]
push ebx
lea eax, [esi + 0x1c0]
push eax
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 8]
mov byte [esi + 0x37], 1
mov dword [esi + 0x2f0], 0xa
mov ecx, ebx
mov dword [esi + 0x1b4], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x1b8], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x1bc], eax
mov dword [esi + 0x1b0], edi
mov eax, dword [esi + 0x1f0]
mov edx, dword [esi + 0x1ec]
push eax
call fcn.00416040
pop eax
mov ecx, dword [esi + 0x160]
mov edx, dword [esi + 0x164]
push dword [esi + 0x278]
push dword [esi + 0x274]
push dword [esi + 0x16c]
push dword [esi + 0x168]
call fcn.004834fe
add esp, 0x10
cmp dword [esi + 0x158], 0
mov dword [esi + 8], eax
lea eax, [esi + 0x270]
mov dword [esi + 4], edx
mov dword [esi + 0x40], eax
jne 0x542d36
lea ecx, [esi + 0x150]
lea edx, [esi + 0x160]
mov dword [esi + 0x2f0], 0xb
call fcn.0059ea32
mov edx, dword [esi + 0x154]
mov ecx, dword [esi + 0x150]
lea eax, [esi + 0x40]
mov dword [esi + 0x2f0], 0xb
mov dword [esi + 0x68], eax
lea eax, [esi + 0x150]
mov dword [esi + 0x6c], eax
push 0x543a65
lea eax, [esi + 0x68]
push eax
push dword [esi + 4]
push dword [esi + 8]
call fcn.00484ac2
add esp, 0x10
test eax, eax
je 0x542de0
mov eax, dword [esi + 0x278]
movsd xmm0, qword [esi + 0x270]
mov ebx, dword [esi + 8]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x150]
movsd qword [esi + 0x68], xmm0
shr ebx, 0x19
movzx ecx, byte [eax + edx]
and ecx, 1
sub dword [esi + 0x158], ecx
lea ecx, [edx - 0x10]
and ecx, dword [esi + 0x154]
mov byte [eax + edx], bl
shl edx, 4
mov byte [ecx + eax + 0x10], bl
mov ecx, eax
inc dword [esi + 0x15c]
mov edi, dword [esi + 0x70]
sub ecx, edx
neg edx
mov dword [ecx - 8], edi
mov edi, dword [esi + 0x134]
movsd xmm0, qword [esi + 0x68]
movsd qword [ecx - 0x10], xmm0
mov dword [eax + edx - 4], edi
jmp 0x542e06
mov eax, dword [esi + 0x150]
mov ecx, dword [esi + 0x134]
shl edx, 4
neg edx
mov dword [eax + edx - 4], ecx
mov ecx, dword [esi + 0x270]
mov edx, dword [esi + 0x274]
call fcn.0041b0e1
mov eax, dword [esi + 0x118]
cmp eax, dword [esi + 0x110]
mov edx, eax
jne 0x542e31
lea ecx, [esi + 0x110]
mov dword [esi + 0x2f0], 0xc
call fcn.005438b6
mov edx, dword [esi + 0x118]
mov eax, edx
mov edi, edx
shl eax, 7
add eax, dword [esi + 0x114]
push 0x80
lea ecx, [esi + 0x1b0]
push ecx
push eax
call fcn.0058a110
add esp, 0xc
inc edi
mov dword [esi + 0x134], edi
mov dword [esi + 0x118], edi
jmp 0x5420a5
mov ecx, dword [esi + 0x1b0]
mov eax, dword [esi + 0x1b4]
cmp cl, 4
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], ecx
jne 0x542eb9
mov edx, dword [esi + 0x38]
mov byte [esi + 1], 0
lea ecx, [esi + 0x1b0]
push dword [ebp + 8]
call fcn.005417c5
pop eax
cmp dword [esi + 0x1b0], 0
je 0x542f01
mov ecx, dword [esi + 0x1b4]
mov eax, dword [esi + 0x1b8]
and dword [esi + 0x6c], 0
mov dword [esi + 0xc], eax
mov dword [esi + 0x74], eax
mov dword [esi + 0x18], ecx
mov dword [esi + 0x70], ecx
jmp 0x542ec9
mov eax, dword [esi + 0x18]
and dword [esi + 0x6c], 0
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x74], eax
mov dword [esi + 0x10], 0
mov eax, dword [esi + 0xf8]
mov ecx, dword [esi + 0x10]
mov edi, dword [esi + 0x18]
mov edx, dword [esi + 0xc]
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], edx
mov dword [eax], 1
mov ecx, dword [esi + 0x254]
mov edx, dword [esi + 0x5c]
call fcn.0041b0e1
jmp 0x5419f8
lea ecx, [esi + 0x1b0]
mov byte [esi + 1], 0
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
mov dword [esi + 0x64], edx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x10c], eax
push dword [ebp + 8]
call fcn.0054160f
pop eax
cmp byte [esi + 0x1b0], 4
je 0x542f3c
mov eax, dword [esi + 0x1b0]
cmp al, 4
mov dword [esi + 0x18], eax
jne 0x542fa3
movzx eax, word [esi + 0x10]
cmp dword [esi + 0xc], eax
sete al
or byte [esi + 0x54], al
push 2
pop eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x18], 0x64ac5b
push 0x2f
pop eax
mov dword [esi + 0xc], eax
je 0x542ed0
cmp dword [esi + 0x14], 0x3c
mov eax, dword [esi + 8]
mov dword [esi + 0x6c], 0x64ac8a
mov dword [esi + 0x70], 0x2f
mov dword [esi + 0x68], 1
sbb eax, 0
jae 0x542fbb
xor eax, eax
mov dword [esi + 0x18], 0x64ac8a
jmp 0x541df1
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x20], 0
mov dword [esi + 4], ecx
jmp 0x54320b
mov eax, dword [esi + 0x1b4]
mov ecx, dword [esi + 0x18]
and dword [esi + 0x6c], 0
mov dword [esi + 0x70], ecx
mov dword [esi + 0xc], eax
jmp 0x542ec6
mov eax, dword [esi + 0x14]
mov byte [esi + 1], 0
add eax, 0xffffffc4
adc dword [esi + 8], 0xffffffff
mov dword [esi + 0x30], eax
lea eax, [esi + 0x68]
push eax
call fcn.00541773
pop eax
mov eax, dword [esi + 0x38]
mov edx, dword [esi + 0x10c]
mov ecx, dword [esi + 0x64]
mov dword [esi + 0x58], eax
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], ecx
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 8]
cmp eax, dword [esi + 0x54]
sbb ecx, dword [esi + 0x50]
jb 0x543274
mov eax, dword [esi + 0x50]
mov byte [esi + 1], 0
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x54]
mov dword [esi + 0x70], eax
and dword [esi + 0x6c], 0
and dword [esi + 0x68], 0
lea eax, [esi + 0x68]
push eax
push dword [esi + 0x58]
lea eax, [esi + 0x1b0]
push eax
call dword [esi + 4]
add esp, 0xc
cmp dword [esi + 0x1b0], 0
jne 0x543298
mov edx, dword [esi + 0x58]
mov byte [esi + 1], 0
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.0054160f
pop eax
cmp byte [esi + 0x68], 4
jne 0x543054
mov eax, dword [esi + 0x6c]
jmp 0x543063
mov ecx, dword [esi + 0x68]
mov eax, dword [esi + 0x6c]
cmp cl, 4
jne 0x54338e
cmp eax, 0x6064b50
je 0x5432ba
add dword [esi + 0x54], 1
adc dword [esi + 0x50], 0
jmp 0x542feb
mov dword [esi + 4], 0x6532a7
jmp 0x5431a8
mov dword [esi + 4], 0x653295
push 0x12
jmp 0x543198
mov dword [esi + 4], str.Invalid_AES_encryption_strengthInvalid_AES_vendor_versionInvalid_AES_vendorAES_extra_data_field_has_an_unsupported_lengthInvalid_reader_state
push 0x1f
jmp 0x543198
mov eax, dword [esi + 0x68]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x6c]
jmp 0x543177
movsd xmm0, qword [esi + 0x110]
lea ecx, [esi + 0x70]
mov eax, dword [esi + 0x118]
movsd xmm1, qword [esi + 0x158]
mov dword [esi + 0x2f0], 0xd
movsd qword [ecx + 0x28], xmm0
movsd xmm0, qword [esi + 0x150]
mov dword [ecx + 0x30], eax
mov eax, dword [esi + 0x25c]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
movsd xmm0, qword [esi + 0x160]
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [esi + 0x168]
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [esi + 0x254]
mov dword [ecx + 0x3c], eax
mov eax, dword [esi + 0x54]
movsd qword [ecx + 0x34], xmm0
mov dword [ecx + 0x20], eax
mov eax, dword [esi + 0x50]
mov dword [ecx + 0x24], eax
xor eax, eax
inc eax
mov dword [ecx - 8], eax
mov dword [ecx - 4], eax
push 0x48
pop ecx
push 8
pop edx
call fcn.0042029e
mov edi, eax
push 0x48
lea eax, [esi + 0x68]
push eax
push edi
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 0xf8]
mov ecx, dword [esi + 0xf0]
mov edx, dword [ebp + 8]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edi
and dword [eax], 0
jmp 0x541a09
mov eax, dword [esi + 0x6c]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], 0
jmp 0x54320e
mov dword [esi + 4], 0x64abcd
jmp 0x54320e
mov dword [esi + 4], 0x65327b
push 0x1a
pop eax
mov dword [esi + 0xfc], eax
xor eax, eax
inc eax
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0xfc]
mov ecx, dword [esi + 0x100]
mov dword [esi + 0xe8], eax
mov dword [esi + 0x20], ecx
lea ecx, [esi + 0x68]
call fcn.0051f553
bt dword [esi + 0x10], 0xb
mov bl, 1
jae 0x543205
mov ecx, dword [esi + 0x194]
mov edx, dword [esi + 0xec]
call fcn.0041b0e1
test bl, bl
jne 0x543205
mov ecx, dword [esi + 0x188]
mov edx, dword [esi + 0x178]
call fcn.0041b0e1
mov ecx, dword [esi + 0x17c]
mov edx, dword [esi + 0x108]
call fcn.0041b0e1
mov eax, dword [esi + 0xe8]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0xf8]
mov ecx, dword [esi + 0x20]
mov edi, dword [esi + 4]
mov edx, dword [esi + 0x24]
mov dword [esi + 0x2f0], 2
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], edx
mov dword [eax], 1
lea ecx, [esi + 0x150]
call fcn.00543940
lea ecx, [esi + 0x110]
mov byte [esi + 1], 0
mov dword [esi + 0x2f0], 2
call fcn.005439f3
mov eax, dword [esi + 0x258]
mov dword [esi + 0x5c], eax
jmp 0x542eee
mov dword [esi + 4], 0x64ac08
jmp 0x5431bd
mov dword [esi + 0x18], 0x64ad6e
push 0x2a
pop eax
jmp 0x541dec
mov dword [esi + 4], 0x64abed
push 0x1b
pop eax
mov dword [esi + 0xe8], eax
jmp 0x5431bd
mov eax, dword [esi + 0x1b4]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x1b8]
jmp 0x5432ef
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
jmp 0x54320e
mov eax, dword [esi + 0x10c]
mov ecx, dword [esi + 0x64]
mov edx, dword [esi + 0x38]
mov byte [esi + 1], 0
sub dword [esi + 0x54], eax
sbb dword [esi + 0x50], ecx
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.005417c5
pop eax
cmp dword [esi + 0x68], 0
je 0x5433a0
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0xc], eax
jmp 0x542ec9
mov dword [esi + 0x20], 0
jmp 0x54320b
mov ecx, dword [esi + 0x13c]
jmp 0x543329
mov ecx, dword [esi + 0x138]
jmp 0x543329
mov ecx, dword [esi + 0x130]
jmp 0x543329
mov ecx, dword [esi + 0x12c]
jmp 0x543329
mov ecx, dword [esi + 0x128]
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], ecx
mov dword [esi + 4], eax
jmp 0x54320e
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
mov dword [esi + 0x20], 0
mov dword [esi + 4], eax
mov dword [esi + 0xe8], ecx
jmp 0x5431f4
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
mov dword [esi + 0x20], 0
mov dword [esi + 4], eax
mov dword [esi + 0xe8], ecx
jmp 0x5431e3
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
xor ebx, ebx
mov dword [esi + 0x20], 0
mov dword [esi + 4], eax
mov dword [esi + 0xe8], ecx
jmp 0x5431ce
mov dword [esi + 0x10], 0
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], ecx
jmp 0x542ed0
mov edx, dword [esi + 0x38]
mov byte [esi + 1], 0
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
je 0x5433bf
cmp byte [esi + 0x68], 4
jne 0x5433ff
mov edx, dword [esi + 0x38]
mov byte [esi + 1], 0
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.0054168c
pop eax
cmp byte [esi + 0x68], 4
je 0x5433de
cmp byte [esi + 0x68], 4
jne 0x5433ff
mov edx, dword [esi + 0x38]
mov byte [esi + 1], 0
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.0054160f
pop eax
cmp byte [esi + 0x68], 4
jne 0x54340d
mov eax, dword [esi + 0x6c]
mov dword [esi + 8], eax
jmp 0x54341e
mov eax, dword [esi + 0x68]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x6c]
jmp 0x5432ef
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
cmp al, 4
mov dword [esi + 8], ecx
jne 0x54350d
mov edx, dword [esi + 0x38]
mov byte [esi + 1], 0
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.0054160f
pop eax
cmp byte [esi + 0x68], 4
jne 0x54343f
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x30], eax
jmp 0x543450
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
cmp al, 4
mov dword [esi + 0x30], ecx
jne 0x543512
mov edx, dword [esi + 0x38]
mov byte [esi + 1], 0
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.005417c5
pop eax
cmp dword [esi + 0x68], 0
jne 0x5432e6
mov edx, dword [esi + 0x38]
mov byte [esi + 1], 0
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.005417c5
pop eax
cmp dword [esi + 0x68], 0
jne 0x5432e6
lea ecx, [esi + 0x68]
mov edx, dword [esi + 0x38]
mov byte [esi + 1], 0
mov eax, dword [ecx + 8]
mov dword [esi + 0x58], eax
push dword [ebp + 8]
call fcn.005417c5
pop eax
cmp dword [esi + 0x68], 0
jne 0x5432e6
mov edx, dword [esi + 0x38]
mov byte [esi + 1], 0
lea ecx, [esi + 0x68]
push dword [ebp + 8]
call fcn.005417c5
pop eax
cmp dword [esi + 0x68], 0
jne 0x5432e6
mov eax, dword [esi + 0x30]
cmp dword [esi + 8], eax
jne 0x542ed0
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x74]
mov dword [esi + 0x6c], 0x64ac33
mov dword [esi + 0x70], 0x28
mov dword [esi + 0x68], 1
add eax, dword [esi + 0x54]
adc ecx, dword [esi + 0x50]
mov dword [esi + 0x10], eax
mov dword [esi + 8], ecx
jae 0x543527
mov dword [esi + 0x18], 0x64ac33
push 0x28
jmp 0x54327d
mov ecx, dword [esi + 8]
jmp 0x543515
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x10], 0
mov dword [esi + 0xc], ecx
mov dword [esi + 0x18], eax
jmp 0x542ed0
lea eax, [esi + 0x68]
mov byte [esi + 1], 0
push eax
call fcn.00541773
pop eax
jmp 0x541e52
mov byte [esi + 1], 0
call fcn.00414ce0
jmp 0x54354e
mov byte [esi + 1], 0
call fcn.00414ce0
ud2