Function at 0x100188b0
Capabilities:
Write file on windows

Disassembly:
endbr32
push ebp
mov ebp, esp
push esi
push edi
push ebx
sub esp, 0x24
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x10], eax
cmp edi, 0xfffffffb
je 0x10019e2f
push 2
push esi
lea eax, [ebp - 0x14]
push eax
push edi
call fcn.10025880
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x10018944
test byte [ebp + 0x10], 1
je 0x10018933
movzx edx, byte [ebp + 0x13]
test edx, 0x80
je 0x10018928
lea ecx, [ebp + 0x1f]
and ecx, 0xfffffffc
lea edx, [ecx + 4]
test byte [edx - 4], 0x10
je 0x10018928
add ecx, 7
and ecx, 0xfffffffc
mov edx, dword [ecx]
add ecx, 7
and ecx, 0xfffffffc
cmp byte [edx], 0x38
mov esi, dword [ecx]
jne 0x10018928
cmp byte [edx + 2], 0x4e
je 0x1001904a
movzx eax, bx
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push str.unknown
push edi
push 2
push ebx
call fcn.10022aa0
add esp, 0x10
mov eax, dword [ebp - 0x14]
movzx edx, byte [ebp + 0x10]
mov ebx, edx
and ebx, 1
and edx, 2
movzx ecx, byte [eax + 0x194]
and ecx, 0xfffffffe
or ecx, ebx
xor ebx, ebx
mov byte [eax + 0x194], cl
mov ecx, dword [ebp - 0x14]
movzx eax, byte [ecx + 0x194]
and eax, 0xfffffffd
or eax, edx
mov byte [ecx + 0x194], al
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x98], ebx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10c], ebx
mov edx, dword [ebp - 0x14]
and byte [edx + 0x19d], 0xf7
mov eax, dword [ebp - 0x14]
movzx edx, byte [ebp + 0x13]
mov ecx, dword [eax + 0xd0]
mov ebx, dword [eax + 0xd4]
mov dword [eax + 0xc8], ecx
mov dword [eax + 0xcc], ebx
test edx, 0x80
je 0x10018a5b
lea eax, [ebp + 0x1f]
and eax, 0xfffffffc
lea edx, [eax + 4]
mov ebx, dword [edx - 4]
test bl, 0x20
je 0x100189de
mov edx, dword [ebp - 0x14]
or byte [edx + 0x19b], 0x40
test bl, 0x10
je 0x10018a5d
add eax, 7
and eax, 0xfffffffc
mov edx, dword [eax]
add eax, 7
and eax, 0xfffffffc
cmp byte [edx], 0x38
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
je 0x10019908
cmp byte [edx], 0xb
je 0x1001967e
cmp byte [edx], 0x38
je 0x10019585
cmp byte [edx], 0x38
je 0x100194b9
cmp byte [edx], 0x38
je 0x100193c5
cmp byte [edx], 0x38
je 0x100192b2
cmp byte [edx], 0x38
je 0x100191e6
cmp byte [edx], 0x38
je 0x1001911e
cmp byte [edx], 1
je 0x10018a5d
push 0x3ad
push str.for_rseq_lis.c
push 2
push 8
call fcn.10022aa0
add esp, 0x10
jmp 0x10018a5d
xor ebx, ebx
mov eax, dword [ebp - 0x14]
test byte [eax + 0x191], 0x20
jne 0x10018cc7
cmp dword [eax + 0x118], 0xfffffffb
je 0x10018cc7
mov dword [ebp - 0x28], edi
movzx edx, byte [eax + 0x190]
movzx edi, byte [ebp + 0x10]
and edx, 0xfffffffe
shr edi, 7
or edx, edi
mov byte [eax + 0x190], dl
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x1c], esi
movzx esi, byte [ebp + 0x12]
shr esi, 2
and esi, 1
movzx eax, byte [edi + 0x190]
add esi, esi
and eax, 0xfffffffd
or eax, esi
mov byte [edi + 0x190], al
movzx edi, byte [ebp + 0x13]
mov esi, edi
shr esi, 3
and esi, 1
mov edx, dword [ebp - 0x14]
movzx ecx, byte [edx + 0x190]
lea eax, [esi*4]
and ecx, 0xfffffffb
or ecx, eax
mov byte [edx + 0x190], cl
mov ecx, edi
mov edx, dword [ebp - 0x14]
shr ecx, 2
and ecx, 1
movzx eax, byte [edx + 0x190]
shl ecx, 3
and eax, 0xfffffff7
or eax, ecx
mov byte [edx + 0x190], al
mov eax, edi
mov ecx, dword [ebp - 0x14]
shr eax, 6
and eax, 1
movzx edx, byte [ecx + 0x190]
shl eax, 4
and edx, 0xffffffef
or edx, eax
mov byte [ecx + 0x190], dl
mov edx, esi
mov ecx, dword [ebp - 0x14]
shl edx, 5
shl esi, 3
movzx eax, byte [ecx + 0x190]
and eax, 0xffffffdf
or eax, edx
mov byte [ecx + 0x190], al
mov eax, edi
mov edx, dword [ebp - 0x14]
shr eax, 4
and eax, 1
movzx ecx, byte [edx + 0x199]
shl eax, 2
and ecx, 0xfffffffb
or ecx, eax
mov byte [edx + 0x199], cl
mov eax, dword [ebp - 0x14]
shr edi, 5
and edi, 1
movzx edx, byte [eax + 0x199]
and edx, 0xfffffff7
or edx, esi
mov esi, edi
mov byte [eax + 0x199], dl
mov edx, dword [ebp - 0x14]
shl esi, 6
shl edi, 7
movzx eax, byte [edx + 0x190]
and eax, 0xffffffbf
or eax, esi
mov byte [edx + 0x190], al
mov edx, ebx
mov esi, dword [ebp - 0x14]
shr edx, 1
and edx, 1
movzx ecx, byte [esi + 0x190]
and ecx, 0x7f
or ecx, edi
mov edi, ebx
mov byte [esi + 0x190], cl
and edi, 1
mov esi, dword [ebp - 0x14]
mov ecx, ebx
shl edx, 5
shr ecx, 2
movzx eax, byte [esi + 0x191]
and ecx, 3
and eax, 0xfffffffe
add ecx, ecx
or eax, edi
mov byte [esi + 0x191], al
mov edi, dword [ebp - 0x14]
movzx eax, byte [edi + 0x199]
and eax, 0xffffffdf
or eax, edx
mov edx, ebx
mov byte [edi + 0x199], al
mov edi, ebx
mov esi, dword [ebp - 0x14]
and ebx, 0xffffff80
shr edx, 9
and edx, 1
movzx eax, byte [esi + 0x191]
and eax, 0xfffffff9
or eax, ecx
mov byte [esi + 0x191], al
mov ecx, dword [ebp - 0x14]
shl edx, 3
shr edi, 0xa
movzx eax, byte [ecx + 0x19c]
and eax, 0xfffffff7
or eax, edx
mov byte [ecx + 0x19c], al
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x28]
movzx eax, byte [edx + 0x19b]
and eax, 0x7f
or eax, ebx
mov byte [edx + 0x19b], al
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
movzx eax, byte [ecx + 0x19c]
btr eax, 4
jb 0x10018c6e
mov edx, dword [ebp - 0x2c]
and edx, 1
shl edx, 4
or eax, edx
mov byte [ecx + 0x19c], al
mov ecx, dword [ebp - 0x14]
mov eax, 1
push eax
push eax
push eax
push ecx
call fcn.10018590
add esp, 0x10
test eax, eax
je 0x10018cc4
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x10019967
test byte [edx + 0x44], 2
je 0x10019947
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x20]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebx + 0x78]
test edx, edx
je 0x10018cbc
xor ecx, ecx
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x78], ecx
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x193]
test cl, 0x10
je 0x10018d1e
mov edx, dword [eax + 0x20]
test edx, edx
je 0x100199a1
test byte [edx + 0x44], 2
je 0x1001997c
mov dword [edx + 0x38], 0x102
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x20]
mov dword [edx + 0x3c], 0x1f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x78]
test eax, eax
je 0x10018d11
xor edx, edx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x78], edx
mov eax, 0x102
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test byte [eax + 0x192], 0x40
jne 0x10018d86
cmp edi, 0xfffffffb
je 0x10018d86
test eax, eax
je 0x10018d3b
movzx edx, word [eax + 0x17a]
test edx, edx
jg 0x10018d86
mov edx, dword [eax + 0x20]
test edx, edx
je 0x100199e0
test byte [edx + 0x44], 2
je 0x100199bb
mov dword [edx + 0x38], 0x101
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x20]
mov dword [edx + 0x3c], 0x1f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x78]
test eax, eax
je 0x10018d79
xor edx, edx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x78], edx
mov eax, 0x101
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test cl, 8
je 0x10018ddf
test byte [eax + 0x190], 4
jne 0x10018ddf
mov edx, dword [eax + 0x20]
test edx, edx
je 0x10019a1f
test byte [edx + 0x44], 2
je 0x100199fa
mov dword [edx + 0x38], 0x103
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x20]
mov dword [edx + 0x3c], 0x1f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x78]
test eax, eax
je 0x10018dd2
xor edx, edx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x78], edx
mov eax, 0x103
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov edi, dword [eax + 0x70]
test eax, eax
je 0x10018df1
movzx edx, word [eax + 0x17a]
test edx, edx
jg 0x10018e1b
mov dword [edi + 0x28], 0
mov eax, 0x28
xor edx, edx
mov dword [edi + eax - 4], edx
mov dword [edi + eax - 8], edx
mov dword [edi + eax - 0xc], edx
mov dword [edi + eax - 0x10], edx
mov dword [edi + eax - 0x14], edx
sub eax, 0x14
jne 0x10018dff
mov eax, dword [ebp - 0x14]
mov dword [edi], eax
mov eax, dword [ebp - 0x14]
or byte [eax + 0x19a], 0x10
mov ebx, dword [ebp - 0x14]
test byte [ebx + 0x193], 4
je 0x10018ef7
mov eax, dword [ebx + 0x90]
test eax, eax
je 0x10019db1
cmp byte [eax + 0x1f], 0
jne 0x10018e54
test byte [ebx + 0x19c], 2
je 0x10018e5d
mov dword [ebp - 0x18], 1
jmp 0x10018e64
mov dword [ebp - 0x18], 0
test byte [ebx + 0x195], 4
jne 0x10019c17
mov edx, dword [ebx + 0xdc]
mov eax, dword [ebx + 0xcc]
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebx + 0xd8]
mov edx, dword [ebx + 0xc8]
mov dword [ebp - 0x24], eax
test byte [ebx + 0x194], 8
jne 0x10019a4d
mov eax, dword [ebx + 0x48]
sub edx, ecx
add eax, dword [ebx + 0xe8]
add eax, edx
mov dword [ebx + 0x4c], eax
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebx + 0x108]
test edx, edx
je 0x10018eca
mov eax, dword [ebx + 0x4c]
sub edx, eax
add edx, dword [ebx + 0x48]
mov dword [ebx + 0xac], edx
mov ebx, dword [ebp - 0x14]
cmp dword [ebp - 0x18], 0
jne 0x10018ee8
mov eax, dword [ebx + 0x4c]
mov dword [ebx + 0x60], eax
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x90]
test eax, eax
jne 0x10018f05
jmp 0x10019a39
mov eax, dword [ebx + 0x90]
test eax, eax
jne 0x10018f05
jmp 0x10019a39
mov eax, dword [ebx + 0x90]
test eax, eax
je 0x10019a39
cmp byte [eax + 0x1f], 0
je 0x10018f51
test ebx, ebx
je 0x10018f1e
movzx eax, word [ebx + 0x17a]
test eax, eax
jg 0x10018fdb
mov eax, dword [ebx + 0x4c]
mov dword [ebx + 0x58], eax
mov edx, dword [ebp - 0x14]
test edx, edx
je 0x10018f3a
movzx eax, word [edx + 0x17a]
test eax, eax
jg 0x10018fdb
mov eax, dword [edx + 0x90]
test eax, eax
je 0x10018fdb
mov byte [eax + 0x1f], 0
jmp 0x10018fdb
test ebx, ebx
je 0x10018f60
movzx eax, word [ebx + 0x17a]
test eax, eax
jg 0x10018fdb
xor eax, eax
push eax
push eax
push ebx
call fcn.1003b5a0
add esp, 0xc
test eax, eax
je 0x10018fb2
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x10019de5
test byte [edx + 0x44], 2
je 0x10019dc5
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x20]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebx + 0x78]
test edx, edx
je 0x10018faa
xor ecx, ecx
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x78], ecx
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x14]
add dword [eax + 0xb0], 1
adc dword [eax + 0xb4], 0
mov edx, dword [ebp - 0x14]
and byte [edx + 0x197], 0xfb
mov ecx, dword [ebp - 0x14]
and byte [ecx + 0x197], 0x7f
or byte [edi + 0x2a], 0x10
add edi, 4
push edi
push 0
push 0x802
call fcn.10025750
add esp, 0xc
test eax, eax
je 0x10019033
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x10019e1a
test byte [edx + 0x44], 2
je 0x10019dfa
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x20]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebx + 0x78]
test edx, edx
je 0x1001902b
xor ecx, ecx
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x78], ecx
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push dword [ebp + 0x18]
push dword [ebp - 0x10]
push esi
call fcn.10019f80
add esp, 0xc
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
lea edx, [ebp - 0x30]
push edx
push edi
call fcn.10027140
add esp, 8
test eax, eax
jne 0x10018928
mov edi, dword [ebp - 0x30]
xor ecx, ecx
mov dword [edi + 0x98], ecx
mov edx, dword [ebp - 0x30]
movzx edi, byte [ebp + 0x10]
and edi, 1
mov dword [edx + 0x10c], ecx
mov edx, dword [ebp - 0x30]
and byte [edx + 0x19d], 0xf7
mov eax, dword [ebp - 0x30]
movzx edx, byte [eax + 0x194]
and edx, 0xfffffffe
or edx, edi
mov byte [eax + 0x194], dl
mov edi, dword [ebp - 0x30]
mov edx, dword [esi]
mov dword [edi + 0x10c], edx
mov edx, dword [ebp - 0x30]
mov esi, dword [esi + 4]
mov dword [edx + 0x98], esi
mov esi, dword [ebp - 0x30]
mov edx, dword [esi + 0x20]
test edx, edx
je 0x10019109
test byte [edx + 0x44], 2
je 0x100190e9
mov dword [edx + 0x38], ebx
mov edx, dword [ebp - 0x30]
mov esi, dword [edx + 0x20]
mov dword [esi + 0x3c], ebx
mov edi, dword [ebp - 0x30]
mov edx, dword [edi + 0x78]
test edx, edx
je 0x100190df
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x78], ecx
mov eax, ebx
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push ebx
movzx eax, byte [esi + 0x194]
push ebx
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push esi
push ebx
push ebx
push 0
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp byte [edx + 2], 0x53
jne 0x10018a3e
push 3
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x30]
push eax
push 0x53
push dword [ecx]
push dword [ecx + 4]
mov dword [ebp - 0x2c], edx
call fcn.100173f0
mov edx, dword [ebp - 0x2c]
add esp, 0x14
test eax, eax
jne 0x10019178
mov ecx, dword [ebp - 0x14]
add edx, 4
movzx eax, byte [ecx + 0x18b]
mov byte [ecx + 0x18c], al
mov eax, dword [ebp - 0x14]
or byte [eax + 0x19b], 0x20
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov byte [ecx + 0x18b], al
jmp 0x10018a3e
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x100191d1
test byte [edx + 0x44], 2
je 0x100191b1
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x20]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebx + 0x78]
test edx, edx
je 0x100191a9
xor ecx, ecx
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x78], ecx
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push eax
push eax
movzx eax, byte [ecx + 0x194]
and eax, 7
push eax
push 0xffffffffffffffff
push ecx
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push ecx
push eax
push eax
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp byte [edx + 2], 0x51
jne 0x10018a35
push 3
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x30]
push eax
push 0x51
push dword [ecx]
push dword [ecx + 4]
mov dword [ebp - 0x2c], edx
call fcn.100173f0
mov edx, dword [ebp - 0x2c]
add esp, 0x14
test eax, eax
jne 0x10019244
mov ecx, dword [ebp - 0x14]
add edx, 4
add dword [ebp - 0x24], 8
movzx eax, byte [ecx + 0x187]
mov byte [ecx + 0x188], al
mov eax, dword [ebp - 0x14]
or byte [eax + 0x19b], 0x10
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov byte [ecx + 0x187], al
jmp 0x10018a35
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x1001929d
test byte [edx + 0x44], 2
je 0x1001927d
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x20]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebx + 0x78]
test edx, edx
je 0x10019275
xor ecx, ecx
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x78], ecx
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push eax
push eax
movzx eax, byte [ecx + 0x194]
and eax, 7
push eax
push 0xffffffffffffffff
push ecx
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push ecx
push eax
push eax
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp byte [edx + 2], 0x3c
jne 0x10018a2c
push 3
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x30]
push eax
push 0x3c
push dword [ecx]
push dword [ecx + 4]
mov dword [ebp - 0x2c], edx
call fcn.100173f0
mov edx, dword [ebp - 0x2c]
add esp, 0x14
test eax, eax
jne 0x10019357
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x14]
movzx ecx, byte [ebx + 0x196]
mov eax, ecx
shr ecx, 1
and eax, 0xfffffffb
and ecx, 1
shl ecx, 2
or eax, ecx
mov byte [ebx + 0x196], al
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
or byte [eax + 0x19b], 8
mov eax, dword [ebp - 0x30]
cmp eax, 2
jne 0x1001933e
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x14]
movzx ecx, byte [ebp + 0x12]
shr ecx, 2
and ecx, 1
movzx eax, byte [ebx + 0x196]
add ecx, ecx
and eax, 0xfffffffd
or eax, ecx
mov byte [ebx + 0x196], al
mov ebx, dword [ebp - 0x28]
jmp 0x1001934b
cmp eax, 1
mov eax, dword [ebp - 0x14]
and byte [eax + 0x196], 0xfd
add dword [ebp - 0x24], 8
add edx, 4
jmp 0x10018a2c
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x100193b0
test byte [edx + 0x44], 2
je 0x10019390
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x20]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebx + 0x78]
test edx, edx
je 0x10019388
xor ecx, ecx
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x78], ecx
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push eax
push eax
movzx eax, byte [ecx + 0x194]
and eax, 7
push eax
push 0xffffffffffffffff
push ecx
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push ecx
push eax
push eax
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp byte [edx + 2], 0x3b
jne 0x10018a23
push 3
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x30]
push eax
push 0x3b
push dword [ecx]
push dword [ecx + 4]
mov dword [ebp - 0x2c], edx
call fcn.100173f0
mov edx, dword [ebp - 0x2c]
add esp, 0x14
test eax, eax
jne 0x1001944b
mov ecx, dword [ebp - 0x14]
movzx eax, byte [ecx + 0x181]
mov byte [ecx + 0x182], al
mov eax, dword [ebp - 0x14]
or byte [eax + 0x19b], 4
mov eax, dword [ebp - 0x30]
cmp eax, 2
je 0x10019435
cmp eax, 1
jne 0x10019424
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x181], 0x27
jmp 0x1001943f
cmp eax, 3
jne 0x10019435
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x181], 0x22
jmp 0x1001943f
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x181], 0
add dword [ebp - 0x24], 8
add edx, 4
jmp 0x10018a23
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x100194a4
test byte [edx + 0x44], 2
je 0x10019484
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x20]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebx + 0x78]
test edx, edx
je 0x1001947c
xor ecx, ecx
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x78], ecx
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push eax
push eax
movzx eax, byte [ecx + 0x194]
and eax, 7
push eax
push 0xffffffffffffffff
push ecx
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push ecx
push eax
push eax
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp byte [edx + 2], 0x52
jne 0x10018a1a
push 3
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x30]
push eax
push 0x52
push dword [ecx]
push dword [ecx + 4]
mov dword [ebp - 0x2c], edx
call fcn.100173f0
mov edx, dword [ebp - 0x2c]
add esp, 0x14
test eax, eax
jne 0x10019517
mov ecx, dword [ebp - 0x14]
add edx, 4
add dword [ebp - 0x24], 8
movzx eax, byte [ecx + 0x189]
mov byte [ecx + 0x18a], al
mov eax, dword [ebp - 0x14]
or byte [eax + 0x19b], 2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov byte [ecx + 0x189], al
jmp 0x10018a1a
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x10019570
test byte [edx + 0x44], 2
je 0x10019550
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x20]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebx + 0x78]
test edx, edx
je 0x10019548
xor ecx, ecx
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x78], ecx
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push eax
push eax
movzx eax, byte [ecx + 0x194]
and eax, 7
push eax
push 0xffffffffffffffff
push ecx
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push ecx
push eax
push eax
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp byte [edx + 2], 6
jne 0x10018a11
push 3
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x30]
push eax
push 6
push dword [ecx]
push dword [ecx + 4]
mov dword [ebp - 0x2c], edx
call fcn.100173f0
mov edx, dword [ebp - 0x2c]
add esp, 0x14
test eax, eax
jne 0x10019610
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x14]
movzx ecx, byte [ebx + 0x193]
mov eax, ecx
shr ecx, 5
and eax, 0xffffffbf
and ecx, 1
shl ecx, 6
or eax, ecx
mov byte [ebx + 0x193], al
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
or byte [eax + 0x19b], 1
mov eax, dword [ebp - 0x30]
cmp eax, 1
je 0x100195fa
cmp eax, 2
jne 0x100195fa
mov eax, dword [ebp - 0x14]
or byte [eax + 0x193], 0x20
jmp 0x10019604
mov eax, dword [ebp - 0x14]
and byte [eax + 0x193], 0xdf
add dword [ebp - 0x24], 8
add edx, 4
jmp 0x10018a11
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x10019669
test byte [edx + 0x44], 2
je 0x10019649
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x20]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebx + 0x78]
test edx, edx
je 0x10019641
xor ecx, ecx
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x78], ecx
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push eax
push eax
movzx eax, byte [ecx + 0x194]
and eax, 7
push eax
push 0xffffffffffffffff
push ecx
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push ecx
push eax
push eax
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp byte [edx + 2], 0x4f
jne 0x10018a08
mov eax, dword [ebp - 0x14]
test byte [eax + 0x193], 4
jne 0x10019734
test byte [eax + 0x191], 0x20
jne 0x100196e9
mov edx, dword [eax + 0x20]
test edx, edx
je 0x100197f7
test byte [edx + 0x44], 2
je 0x100197d2
mov eax, 0x6d
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x20]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x100196dc
xor edx, edx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x78], edx
mov eax, 0x6d
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov edx, dword [eax + 0x20]
test edx, edx
je 0x10019833
test byte [edx + 0x44], 2
je 0x10019811
mov dword [edx + 0x38], 0x6e
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x20]
mov dword [edx + 0x3c], 0x1f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x78]
test eax, eax
je 0x10019727
xor edx, edx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x78], edx
mov eax, 0x6e
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test eax, eax
je 0x10019743
movzx ecx, word [eax + 0x17a]
test ecx, ecx
jg 0x1001978a
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ebx
mov ecx, dword [edx]
add ecx, 0xffffffff
mov ebx, dword [edx + 4]
adc ebx, 0xffffffff
add edx, 8
mov dword [eax + 0xc8], ecx
mov dword [eax + 0xcc], ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], edx
xor edx, edx
mov ebx, dword [ebp - 0x28]
mov ecx, dword [eax + 0xcc]
sub ecx, edx
mov edx, dword [ebp - 0x2c]
jl 0x1001984a
add edx, 4
jmp 0x10018a08
mov edx, dword [eax + 0x20]
test edx, edx
je 0x100198ee
test byte [edx + 0x44], 2
je 0x100198c9
mov eax, 0x10f
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x20]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x100197c5
xor edx, edx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x78], edx
mov eax, 0x10f
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov edx, 0x6d
push edx
movzx ecx, byte [eax + 0x194]
push edx
and ecx, 7
push ecx
push 0xffffffffffffffff
push eax
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push eax
mov eax, 0x6d
push eax
push eax
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push 0x1f
movzx edx, byte [eax + 0x194]
push 0x6e
and edx, 7
push edx
push 0xffffffffffffffff
push eax
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push eax
push 0x1f
push 0x6e
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov edx, dword [eax + 0x20]
test edx, edx
je 0x100198af
test byte [edx + 0x44], 2
je 0x1001988a
mov eax, 0x6f
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x20]
mov dword [ecx + 0x3c], eax
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x1001987d
xor edx, edx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x78], edx
mov eax, 0x6f
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov edx, 0x6f
push edx
movzx ecx, byte [eax + 0x194]
push edx
and ecx, 7
push ecx
push 0xffffffffffffffff
push eax
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push eax
mov eax, 0x6f
push eax
push eax
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov edx, 0x10f
push edx
movzx ecx, byte [eax + 0x194]
push edx
and ecx, 7
push ecx
push 0xffffffffffffffff
push eax
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push eax
mov eax, 0x10f
push eax
push eax
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp byte [edx + 2], 0x4e
jne 0x100189ff
add edx, 4
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x14]
mov ecx, dword [eax]
mov dword [ebx + 0x10c], ecx
mov ebx, dword [ebp - 0x14]
mov ecx, dword [eax + 4]
add eax, 8
mov dword [ebp - 0x24], eax
mov dword [ebx + 0x98], ecx
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
and byte [ecx + 0x19d], 0xf7
jmp 0x100189ff
push eax
push eax
movzx eax, byte [ecx + 0x194]
and eax, 7
push eax
push 0xffffffffffffffff
push ecx
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push ecx
push eax
push eax
push 2
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push 0x1f
movzx edx, byte [eax + 0x194]
push 0x102
and edx, 7
push edx
push 0xffffffffffffffff
push eax
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push eax
push 0x1f
push 0x102
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push 0x1f
movzx edx, byte [eax + 0x194]
push 0x101
and edx, 7
push edx
push 0xffffffffffffffff
push eax
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push eax
push 0x1f
push 0x101
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push 0x1f
movzx edx, byte [eax + 0x194]
push 0x103
and edx, 7
push edx
push 0xffffffffffffffff
push eax
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push eax
push 0x1f
push 0x103
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movzx eax, word [ebx + 0x17a]
test eax, eax
jle 0x10018f55
jmp 0x10018fdb
mov eax, edx
sub eax, ecx
mov eax, dword [ebp - 0x24]
sbb eax, dword [ebp - 0x1c]
jl 0x10019a83
mov eax, dword [ebx + 0xe0]
add eax, ecx
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebx + 0xe4]
adc ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], ebx
mov ebx, edx
sub ebx, eax
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x2c]
sbb eax, dword [ebp - 0x28]
jl 0x10018e9c
push 0
mov dword [ebp - 0x2c], edx
lea eax, [ebp - 0x28]
push eax
push edx
mov edx, dword [ebp - 0x24]
push dword [ebx + 0xfc]
mov dword [eax], edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, eax
mov dword [ebp - 0x2c], ecx
cmp ecx, 0xffffffff
je 0x10019bf2
mov edx, dword [ebp - 0x28]
mov eax, 0xffffffff
sub ecx, eax
sub edx, eax
or ecx, edx
je 0x10019b61
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebx + 0xc8]
mov ecx, dword [ebx + 0xcc]
mov dword [ebx + 0xd0], edx
mov dword [ebx + 0xd4], ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0xc8]
mov edx, dword [ecx + 0xcc]
mov dword [ecx + 0xd8], eax
xor eax, eax
mov dword [ecx + 0xdc], edx
mov ebx, dword [ebp - 0x14]
mov dword [ebx + 0xe8], eax
mov dword [ebx + 0xec], eax
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xe0], eax
mov dword [edx + 0xe4], eax
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebx + 0xe0]
mov dword [ebx + 0x108], ecx
mov edx, dword [ebp - 0x14]
and byte [edx + 0x195], 0xfd
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xac], eax
mov ebx, dword [ebp - 0x14]
mov dword [ebx + 0x60], eax
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x90]
test eax, eax
je 0x10019a39
mov byte [eax + 0x1f], 0
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x90]
jmp 0x10018eee
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x100], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x10019bd8
test byte [eax + 0x44], 2
je 0x10019bb3
mov edx, 0x27
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x20]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x10019ba6
xor edx, edx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x78], edx
mov eax, 0x27
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, 0x27
push eax
movzx edx, byte [ecx + 0x194]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push ecx
mov eax, 0x27
push eax
push eax
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x10019c0c
mov eax, 0xffffffff
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
jmp 0x10019b61
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
jmp 0x10019aaf
mov eax, dword [ebx + 0x158]
test eax, eax
mov edx, dword [ebx + 0x48]
jne 0x10019c29
mov eax, 0x20000
mov ecx, dword [ebx + 0x50]
sub ecx, edx
mov dword [ebp - 0x24], ecx
cmp ecx, eax
ja 0x10019c5e
push 0
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x24]
push edx
push dword [ebx + 0xfc]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
mov eax, 0xffffffff
je 0x10019c59
mov eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x10019cc9
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], edi
mov edi, edx
mov dword [ebp - 0x1c], esi
mov esi, eax
push 0
lea ecx, [ebp - 0x20]
push ecx
push esi
push edi
push dword [ebx + 0xfc]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x10019c92
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], 0xffffffff
jmp 0x10019cc9
mov ecx, dword [ebx + 0x158]
test ecx, ecx
mov edx, dword [ebp - 0x20]
jne 0x10019ca4
mov ecx, 0x20000
mov eax, dword [ebp - 0x2c]
add edi, edx
sub eax, edx
cmp eax, ecx
mov dword [ebp - 0x2c], eax
jae 0x10019cb4
mov esi, eax
test eax, eax
je 0x10019cbc
test edx, edx
ja 0x10019c6b
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], 1
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [ebx + 0xc0], edx
mov dword [ebx + 0xc4], edx
cdq
add eax, dword [ebx + 0xd8]
mov ecx, dword [ebx + 0x48]
mov dword [ebx + 0x50], ecx
adc edx, dword [ebx + 0xdc]
add ecx, dword [ebx + 0x110]
and byte [ebx + 0x195], 0xfb
mov dword [ebx + 0x54], ecx
mov dword [ebx + 0xd8], eax
mov dword [ebx + 0xdc], edx
mov dword [ebx + 0xd0], eax
mov dword [ebx + 0xd4], edx
cmp dword [ebp - 0x2c], 0xffffffff
je 0x10019d23
mov ebx, dword [ebp - 0x14]
jmp 0x10018e71
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx + 0x100], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x10019d97
test byte [eax + 0x44], 2
je 0x10019d72
mov edx, 0x26
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x20]
mov dword [ecx + 0x3c], edx
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x10019d65
xor edx, edx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x78], edx
mov eax, 0x26
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, 0x26
push eax
movzx edx, byte [ecx + 0x194]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push ecx
mov eax, 0x26
push eax
push eax
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movzx eax, word [ebx + 0x17a]
test eax, eax
jle 0x10018e4b
jmp 0x10018e54
push eax
push eax
movzx eax, byte [ecx + 0x194]
and eax, 7
push eax
push 0xffffffffffffffff
push ecx
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push ecx
push eax
push eax
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push eax
push eax
movzx eax, byte [ecx + 0x194]
and eax, 7
push eax
push 0xffffffffffffffff
push ecx
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push ecx
push eax
push eax
push 1
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push 2
push esi
lea eax, [ebp - 0x14]
push eax
push 0xfffffffffffffffa
call fcn.10025880
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x10018944
test byte [ebp + 0x10], 1
je 0x10019e91
movzx edx, byte [ebp + 0x13]
test edx, 0x80
je 0x10019e86
lea ecx, [ebp + 0x1f]
and ecx, 0xfffffffc
lea edx, [ecx + 4]
test byte [edx - 4], 0x10
je 0x10019e86
add ecx, 7
and ecx, 0xfffffffc
mov edx, dword [ecx]
add ecx, 7
and ecx, 0xfffffffc
cmp byte [edx], 0x38
mov esi, dword [ecx]
jne 0x10019e86
cmp byte [edx + 2], 0x4e
je 0x10019ea5
movzx eax, bx
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push str.unknown
push 0xfffffffffffffffb
push 2
push ebx
call fcn.10022aa0
jmp 0x10018941
lea edx, [ebp - 0x30]
push edx
push 0xfffffffffffffffb
call fcn.10027140
add esp, 8
test eax, eax
jne 0x10019e86
mov edi, dword [ebp - 0x30]
xor ecx, ecx
mov dword [edi + 0x98], ecx
mov edx, dword [ebp - 0x30]
movzx edi, byte [ebp + 0x10]
and edi, 1
mov dword [edx + 0x10c], ecx
mov edx, dword [ebp - 0x30]
and byte [edx + 0x19d], 0xf7
mov eax, dword [ebp - 0x30]
movzx edx, byte [eax + 0x194]
and edx, 0xfffffffe
or edx, edi
mov byte [eax + 0x194], dl
mov edi, dword [ebp - 0x30]
mov edx, dword [esi]
mov dword [edi + 0x10c], edx
mov edx, dword [ebp - 0x30]
mov esi, dword [esi + 4]
mov dword [edx + 0x98], esi
mov esi, dword [ebp - 0x30]
mov edx, dword [esi + 0x20]
test edx, edx
je 0x10019f61
test byte [edx + 0x44], 2
je 0x10019f41
mov dword [edx + 0x38], ebx
mov edx, dword [ebp - 0x30]
mov esi, dword [edx + 0x20]
mov dword [esi + 0x3c], ebx
mov edi, dword [ebp - 0x30]
mov edx, dword [edi + 0x78]
test edx, edx
je 0x10019f37
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x78], ecx
mov eax, ebx
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push ebx
movzx eax, byte [esi + 0x194]
push ebx
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.1002c750
add esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push esi
push ebx
push ebx
push 0
call fcn.10021950
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret