Function at 0x41e1c0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
lea eax, [ebp - 0x10]
mov dword [ebp - 4], ebx
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], esi
push 0xd
push dword [ebp + 8]
push eax
mov edi, dword [ebp + 0xc]
push edi
call fcn.004271f0
add esp, 0x10
mov esi, eax
test esi, esi
je 0x41e251
mov edx, dword [ebp + 0x10]
movzx eax, dl
test al, 1
je 0x41e240
shr edx, 0x18
movzx edx, dl
test edx, 0x80
je 0x41e230
lea edx, [ebp + 0x17]
and edx, 0xfffffffc
lea eax, [edx + 4]
test byte [eax - 4], 0x10
je 0x41e230
add edx, 7
and edx, 0xfffffffc
mov eax, dword [edx]
add edx, 7
and edx, 0xfffffffc
cmp byte [eax], 0x38
mov ebx, dword [edx]
jne 0x41e230
cmp byte [eax + 2], 0x4e
je 0x41e56a
movzx eax, si
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push str.unknown
push edi
push 2
push esi
call fcn.0041a850
add esp, 0x10
mov eax, dword [ebp - 0x10]
xor ebx, ebx
mov dword [eax + 0x84], ebx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xf4], ebx
mov eax, dword [ebp - 0x10]
movzx edx, byte [ebp + 0x13]
test edx, 0x80
mov ecx, dword [eax + 0xb8]
mov esi, dword [eax + 0xbc]
mov dword [eax + 0xb0], ecx
mov dword [eax + 0xb4], esi
je 0x41e2f5
lea eax, [ebp + 0x17]
and eax, 0xfffffffc
lea edx, [eax + 4]
mov ecx, dword [edx - 4]
test cl, 0x20
je 0x41e2a7
mov edx, dword [ebp - 0x10]
or byte [edx + 0x17b], 0x40
test cl, 0x10
je 0x41e2f5
add eax, 7
and eax, 0xfffffffc
mov esi, dword [eax]
add eax, 7
and eax, 0xfffffffc
mov edx, dword [eax]
movsx eax, byte [esi]
cmp eax, 0x38
je 0x41ee30
cmp eax, 0xb
je 0x41ec2c
cmp eax, 0x38
je 0x41e643
cmp eax, 1
je 0x41e2f5
push 0x18f
push str.for_backspace.c
push 2
push 8
call fcn.0041a850
add esp, 0x10
push ebx
push ebx
push dword [ebp - 0x10]
call fcn.0042a310
add esp, 0xc
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ebp + 0x10]
and edx, 1
movzx eax, byte [ecx + 0x174]
and eax, 0xfffffffe
or eax, edx
mov byte [ecx + 0x174], al
mov eax, dword [ebp - 0x10]
test byte [eax + 0x173], 4
je 0x41e3a4
test byte [eax + 0x172], 0x40
jne 0x41e3a4
mov edx, dword [eax + 0x18]
test edx, edx
je 0x41ee62
test byte [edx + 0x44], 2
je 0x41e37a
mov eax, 0x71
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x41e368
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x71
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov edx, 0x71
push edx
movzx ecx, byte [eax + 0x174]
push edx
and ecx, 7
push ecx
push 0xffffffffffffffff
push eax
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov dword [eax + 0xc8], ebx
mov dword [eax + 0xcc], ebx
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0xc8]
mov dword [edx + 0xf0], eax
mov esi, dword [ebp - 0x10]
movzx edx, byte [esi + 0x170]
and edx, 4
movzx eax, byte [esi + 0x171]
and eax, 0x20
shr edx, 2
shr eax, 5
test edx, edx
je 0x41e41a
test eax, eax
je 0x41e4b0
movzx eax, byte [esi + 0x174]
test al, 0x20
je 0x41e429
cmp dword [esi + 0x13c], 7
je 0x41e429
and eax, 0xffffffdf
mov byte [esi + 0x174], al
mov esi, dword [ebp - 0x10]
movzx edx, byte [esi + 0x170]
and edx, 4
shr edx, 2
jmp 0x41e4b0
test eax, eax
je 0x41e4b0
movzx eax, byte [esi + 0x174]
test al, 0x20
je 0x41e436
cmp dword [esi + 0x13c], 7
jne 0x41e4b0
cmp byte [esi + 0x15d], 1
je 0x41eea0
mov edx, dword [esi + 0x18]
test edx, edx
je 0x41ee81
test byte [edx + 0x44], 2
je 0x41e48d
mov dword [edx + 0x38], 0x17
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x18]
mov dword [edx + 0x3c], 0x109
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x64]
test eax, eax
je 0x41e47b
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 0x109
push 0x17
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movzx eax, byte [esi + 0x173]
test edx, edx
je 0x41e4bf
test al, 8
jne 0x41e4cd
test al, 4
jne 0x41e4cd
or byte [esi + 0x175], 8
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x41e4db
mov byte [eax + 0x1f], 0
mov esi, dword [ebp - 0x10]
push edi
and byte [esi + 0x174], 0xdc
and byte [esi + 0x176], 0xf7
call fcn.00426bd0
add esp, 4
test eax, eax
je 0x41e55b
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x42118a
test byte [edx + 0x44], 2
je 0x41e536
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov esi, dword [ebp - 0x10]
mov edx, dword [esi + 0x64]
test edx, edx
je 0x41e529
mov dword [edx + 4], ebx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], ebx
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
xor eax, eax
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x54]
push eax
push edi
call fcn.004270c0
add esp, 8
test eax, eax
jne 0x41e230
mov ecx, dword [ebp - 0x54]
xor edx, edx
mov dword [ecx + 0x84], edx
mov edi, dword [ebp - 0x54]
movzx ecx, byte [ebp + 0x10]
and ecx, 1
mov dword [edi + 0xf4], edx
mov edi, dword [ebp - 0x54]
movzx eax, byte [edi + 0x174]
and eax, 0xfffffffe
or eax, ecx
mov byte [edi + 0x174], al
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebx]
mov dword [ecx + 0xf4], eax
mov eax, dword [ebp - 0x54]
mov ebx, dword [ebx + 4]
mov dword [eax + 0x84], ebx
mov ecx, dword [ebp - 0x54]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x41e629
test byte [eax + 0x44], 2
je 0x41e604
mov dword [eax + 0x38], esi
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], esi
mov ebx, dword [ebp - 0x54]
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x41e5f5
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x64], edx
mov eax, esi
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push esi
movzx eax, byte [ecx + 0x174]
push esi
and eax, 7
push eax
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
push esi
push esi
push 0
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx eax, byte [esi + 2]
cmp eax, 6
je 0x41eb23
cmp eax, 0x52
je 0x41ea47
cmp eax, 0x3b
je 0x41e943
cmp eax, 0x3c
je 0x41e81c
cmp eax, 0x51
je 0x41e740
cmp eax, 0x53
jne 0x41e2df
push 3
lea eax, [ebp - 0x1c]
push eax
push 0x53
push dword [edx]
push dword [edx + 4]
call fcn.004129c0
add esp, 0x14
test eax, eax
jne 0x41e6c5
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + 0x16b]
mov byte [ecx + 0x16c], dl
mov eax, dword [ebp - 0x10]
or byte [eax + 0x17b], 0x20
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov byte [edx + 0x16b], al
movsx eax, byte [esi + 4]
jmp 0x41e2da
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x41e726
test byte [edx + 0x44], 2
je 0x41e701
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov esi, dword [ebp - 0x10]
mov edx, dword [esi + 0x64]
test edx, edx
je 0x41e6f4
mov dword [edx + 4], ebx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], ebx
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 3
lea eax, [ebp - 0x1c]
push eax
push 0x51
push dword [edx]
push dword [edx + 4]
mov dword [ebp - 0x54], edx
call fcn.004129c0
mov edx, dword [ebp - 0x54]
add esp, 0x14
test eax, eax
jne 0x41e798
mov ecx, dword [ebp - 0x10]
add esi, 4
add edx, 8
movzx eax, byte [ecx + 0x167]
mov byte [ecx + 0x168], al
mov eax, dword [ebp - 0x10]
or byte [eax + 0x17b], 0x10
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov byte [ecx + 0x167], al
movsx eax, byte [esi]
cmp eax, 0x38
je 0x41e7f9
jmp 0x41e2da
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x41e802
test byte [edx + 0x44], 2
je 0x41e7d4
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov esi, dword [ebp - 0x10]
mov edx, dword [esi + 0x64]
test edx, edx
je 0x41e7c7
mov dword [edx + 4], ebx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], ebx
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx eax, byte [esi + 2]
jmp 0x41e674
push ecx
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 3
lea eax, [ebp - 0x1c]
push eax
push 0x3c
push dword [edx]
push dword [edx + 4]
mov dword [ebp - 0x54], edx
call fcn.004129c0
mov edx, dword [ebp - 0x54]
add esp, 0x14
test eax, eax
jne 0x41e8bf
mov dword [ebp - 0x50], esi
mov esi, dword [ebp - 0x10]
movzx ecx, byte [esi + 0x176]
mov eax, ecx
shr ecx, 1
and eax, 0xfffffffb
and ecx, 1
shl ecx, 2
or eax, ecx
mov byte [esi + 0x176], al
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x50]
or byte [eax + 0x17b], 8
mov eax, dword [ebp - 0x1c]
cmp eax, 2
jne 0x41e89f
mov dword [ebp - 0x50], esi
mov esi, dword [ebp - 0x10]
movzx ecx, byte [ebp + 0x12]
shr ecx, 2
and ecx, 1
movzx eax, byte [esi + 0x176]
add ecx, ecx
and eax, 0xfffffffd
or eax, ecx
mov byte [esi + 0x176], al
mov esi, dword [ebp - 0x50]
jmp 0x41e8ac
cmp eax, 1
mov eax, dword [ebp - 0x10]
and byte [eax + 0x176], 0xfd
add esi, 4
add edx, 8
movsx eax, byte [esi]
cmp eax, 0x38
je 0x41e920
jmp 0x41e2da
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x41e929
test byte [edx + 0x44], 2
je 0x41e8fb
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov esi, dword [ebp - 0x10]
mov edx, dword [esi + 0x64]
test edx, edx
je 0x41e8ee
mov dword [edx + 4], ebx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], ebx
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx eax, byte [esi + 2]
jmp 0x41e66b
push ecx
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 3
lea eax, [ebp - 0x1c]
push eax
push 0x3b
push dword [edx]
push dword [edx + 4]
mov dword [ebp - 0x54], edx
call fcn.004129c0
mov edx, dword [ebp - 0x54]
add esp, 0x14
test eax, eax
jne 0x41e9c3
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ecx + 0x161]
mov byte [ecx + 0x162], al
mov eax, dword [ebp - 0x10]
or byte [eax + 0x17b], 4
mov eax, dword [ebp - 0x1c]
cmp eax, 2
je 0x41e9a6
cmp eax, 1
jne 0x41e995
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x161], 0x27
jmp 0x41e9b0
cmp eax, 3
jne 0x41e9a6
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x161], 0x22
jmp 0x41e9b0
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x161], 0
add esi, 4
add edx, 8
movsx eax, byte [esi]
cmp eax, 0x38
je 0x41ea24
jmp 0x41e2da
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x41ea2d
test byte [edx + 0x44], 2
je 0x41e9ff
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov esi, dword [ebp - 0x10]
mov edx, dword [esi + 0x64]
test edx, edx
je 0x41e9f2
mov dword [edx + 4], ebx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], ebx
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx eax, byte [esi + 2]
jmp 0x41e662
push ecx
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 3
lea eax, [ebp - 0x1c]
push eax
push 0x52
push dword [edx]
push dword [edx + 4]
mov dword [ebp - 0x54], edx
call fcn.004129c0
mov edx, dword [ebp - 0x54]
add esp, 0x14
test eax, eax
jne 0x41ea9f
mov ecx, dword [ebp - 0x10]
add esi, 4
add edx, 8
movzx eax, byte [ecx + 0x169]
mov byte [ecx + 0x16a], al
mov eax, dword [ebp - 0x10]
or byte [eax + 0x17b], 2
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov byte [ecx + 0x169], al
movsx eax, byte [esi]
cmp eax, 0x38
je 0x41eb00
jmp 0x41e2da
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x41eb09
test byte [edx + 0x44], 2
je 0x41eadb
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov esi, dword [ebp - 0x10]
mov edx, dword [esi + 0x64]
test edx, edx
je 0x41eace
mov dword [edx + 4], ebx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], ebx
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx eax, byte [esi + 2]
jmp 0x41e659
push ecx
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 3
lea eax, [ebp - 0x1c]
push eax
push 6
push dword [edx]
push dword [edx + 4]
mov dword [ebp - 0x54], edx
call fcn.004129c0
mov edx, dword [ebp - 0x54]
add esp, 0x14
test eax, eax
jne 0x41eba8
mov dword [ebp - 0x50], esi
mov esi, dword [ebp - 0x10]
movzx ecx, byte [esi + 0x173]
mov eax, ecx
shr ecx, 5
and eax, 0xffffffbf
and ecx, 1
shl ecx, 6
or eax, ecx
mov byte [esi + 0x173], al
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x50]
or byte [eax + 0x17b], 1
mov eax, dword [ebp - 0x1c]
cmp eax, 1
je 0x41eb8b
cmp eax, 2
jne 0x41eb8b
mov eax, dword [ebp - 0x10]
or byte [eax + 0x173], 0x20
jmp 0x41eb95
mov eax, dword [ebp - 0x10]
and byte [eax + 0x173], 0xdf
add esi, 4
add edx, 8
movsx eax, byte [esi]
cmp eax, 0x38
je 0x41ec09
jmp 0x41e2da
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x41ec12
test byte [edx + 0x44], 2
je 0x41ebe4
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov esi, dword [ebp - 0x10]
mov edx, dword [esi + 0x64]
test edx, edx
je 0x41ebd7
mov dword [edx + 4], ebx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], ebx
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx eax, byte [esi + 2]
jmp 0x41e650
push ecx
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
cmp byte [esi + 2], 0x4f
jne 0x41e2df
mov eax, dword [ebp - 0x10]
test byte [eax + 0x173], 4
jne 0x41ed31
test byte [eax + 0x171], 0x20
jne 0x41ecc0
mov edx, dword [eax + 0x18]
test edx, edx
je 0x41ed69
test byte [edx + 0x44], 2
je 0x41ec96
mov eax, 0x6d
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x41ec84
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x6d
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov edx, 0x6d
push edx
movzx ecx, byte [eax + 0x174]
push edx
and ecx, 7
push ecx
push 0xffffffffffffffff
push eax
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x18]
test edx, edx
je 0x41ed88
test byte [edx + 0x44], 2
je 0x41ed0a
mov dword [edx + 0x38], 0x6e
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x18]
mov dword [edx + 0x3c], 0x1f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x64]
test eax, eax
je 0x41ecf8
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x6e
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 0x1f
movzx edx, byte [eax + 0x174]
push 0x6e
and edx, 7
push edx
push 0xffffffffffffffff
push eax
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov ecx, dword [edx]
add ecx, 0xffffffff
mov dword [ebp - 0x50], esi
mov esi, dword [edx + 4]
adc esi, 0xffffffff
add edx, 8
mov dword [eax + 0xb0], ecx
mov dword [eax + 0xb4], esi
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x50]
mov ecx, dword [eax + 0xb4]
sub ecx, ebx
jl 0x41eda4
add esi, 4
movsx eax, byte [esi]
jmp 0x41e2d1
push eax
mov edx, 0x6d
push edx
push edx
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
push 0x1f
push 0x6e
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x18]
test edx, edx
je 0x41ee11
test byte [edx + 0x44], 2
je 0x41ede7
mov eax, 0x6f
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x41edd5
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x6f
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov edx, 0x6f
push edx
movzx ecx, byte [eax + 0x174]
push edx
and ecx, 7
push ecx
push 0xffffffffffffffff
push eax
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
mov edx, 0x6f
push edx
push edx
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx eax, byte [esi + 2]
cmp eax, 0x4e
jne 0x41e647
mov ecx, dword [ebp - 0x10]
add esi, 4
mov eax, dword [edx]
mov dword [ecx + 0xf4], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [edx + 4]
add edx, 8
mov dword [ecx + 0x84], eax
movsx eax, byte [esi]
jmp 0x41e2c8
push eax
mov edx, 0x71
push edx
push edx
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push esi
push 0x109
push 0x17
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
test byte [esi + 0x173], 8
je 0x41eeb1
test edx, edx
je 0x41e443
test al, 8
jne 0x41ef22
mov edx, dword [esi + 0x18]
test edx, edx
je 0x41fb7a
test byte [edx + 0x44], 2
je 0x41eeff
mov dword [edx + 0x38], 0x17
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x18]
mov dword [edx + 0x3c], 0x108
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x64]
test eax, eax
je 0x41eeed
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 0x108
push 0x17
and eax, 7
push eax
push 0xffffffffffffffff
push esi
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
test byte [esi + 0x179], 0x10
je 0x41efbb
push esi
call fcn.00443de0
add esp, 4
test eax, eax
je 0x41efa1
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x41fb99
test byte [edx + 0x44], 2
je 0x41ef7c
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov esi, dword [ebp - 0x10]
mov edx, dword [esi + 0x64]
test edx, edx
je 0x41ef6f
mov dword [edx + 4], ebx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], ebx
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x10]
push ebx
push ebx
and byte [eax + 0x179], 0xef
push dword [ebp - 0x10]
call fcn.0042a310
add esp, 0xc
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x98]
mov ecx, 2
mov dword [ebp - 0x14], eax
sub eax, ecx
mov edx, dword [esi + 0x9c]
mov dword [ebp - 0x18], edx
sbb edx, ebx
jb 0x41fa0e
or eax, edx
je 0x41fa0e
movsx edx, byte [esi + 0x15c]
mov eax, dword [ebp - 0x18]
sub eax, ebx
jl 0x41effc
add dword [ebp - 0x14], 0xffffffff
adc dword [ebp - 0x18], 0xffffffff
jmp 0x41f00a
mov dword [ebp - 0x14], 0x80000000
mov dword [ebp - 0x18], 0xffffffff
lea eax, [edx - 1]
cmp eax, 7
ja case.default.0x41f016
jmp dword [eax*4 + 0x4d21a8]
cmp edx, 8
je 0x41f027
cmp edx, 6
jne 0x41f030
mov dword [ebp - 0x44], 0xa
jmp 0x41f037
mov dword [ebp - 0x44], 0xd
mov ecx, dword [esi + 0x50]
test ecx, ecx
je 0x41fbb3
mov eax, dword [esi + 0x38]
lea edx, [ecx - 1]
mov dword [ebp - 0x54], edx
cmp eax, edx
jae 0x41fbb3
mov dword [ebp - 0x2c], edi
mov edx, ebx
mov ebx, dword [ebp - 0x54]
mov edi, eax
mov eax, dword [ebp - 0x44]
cmp al, byte [edi]
jne 0x41f066
mov edx, edi
inc edi
cmp edi, ebx
jb 0x41f060
mov edi, dword [ebp - 0x2c]
xor ebx, ebx
test edx, edx
je 0x41fbb3
sub ecx, edx
inc edx
mov ebx, dword [esi + 0x90]
lea ecx, [ecx + ebx - 1]
mov dword [esi + 0x90], ecx
mov esi, dword [ebp - 0x10]
mov dword [esi + 0x50], edx
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ecx + 0xc0]
mov eax, dword [ecx + 0x50]
sub ebx, dword [ecx + 0xd0]
mov esi, dword [ecx + 0xc4]
sbb esi, dword [ecx + 0xd4]
sub eax, dword [ecx + 0x38]
cdq
add ebx, eax
mov dword [ecx + 0xb8], ebx
adc esi, edx
xor ebx, ebx
mov dword [ecx + 0xbc], esi
mov esi, dword [ebp - 0x10]
jmp 0x41f9dd
mov edx, dword [esi + 0x13c]
cmp edx, 7
jne 0x41f394
test byte [esi + 0x175], 2
je 0x41f116
mov dword [ebp - 0x54], esi
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
mov esi, dword [esi + 0x44]
sub edx, ecx
mov eax, esi
dec edx
mov dword [ebp - 0x40], edx
cdq
mov eax, ecx
mov dword [ebp - 0x3c], esi
sub esi, ecx
mov dword [ebp - 0x50], edx
cdq
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x4c], ecx
sbb dword [ebp - 0x50], edx
mov esi, dword [ebp - 0x54]
jmp 0x41f2d8
push 0
push esi
call fcn.0042bd30
add esp, 8
test eax, eax
je 0x41f18d
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4200e4
test byte [eax + 0x44], 2
je 0x41f163
mov edx, 0x26
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [esi + 0x64]
test eax, eax
je 0x41f151
mov dword [eax + 4], ebx
mov dword [esi + 0x64], ebx
mov eax, 0x26
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x26
push eax
movzx edx, byte [esi + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx eax, byte [esi + 0x15c]
dec eax
cmp eax, 7
ja case.default.0x41f19e
jmp dword [eax*4 + 0x4d21c8]
mov eax, dword [esi + 0x40]
test eax, eax
jne 0x41f1af
mov eax, dword [esi + 0x38]
mov edx, dword [esi + 0xf8]
mov dword [esi + 0x3c], eax
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x44], ebx
lea eax, [eax + edx - 1]
mov dword [esi + 0x44], eax
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x50], ebx
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x4c], eax
jmp 0x41f2d8
mov eax, 1
mov word [ebp - 0x54], ax
mov eax, dword [esi + 0x40]
test eax, eax
je 0x420103
mov byte [eax + 2], 1
mov eax, dword [esi + 0x40]
mov byte [eax + 3], 0
mov eax, dword [esi + 0x40]
add eax, 4
mov dword [esi + 0x3c], eax
add eax, dword [esi + 0xf8]
mov dword [esi + 0x44], eax
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x44], ebx
mov eax, dword [esi + 0x44]
mov edx, dword [esi + 0x38]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], ebx
jmp 0x41f2d8
mov eax, dword [esi + 0x40]
test eax, eax
je 0x41f23e
add eax, 4
jmp 0x41f244
mov eax, dword [esi + 0x38]
add eax, 4
mov edx, dword [esi + 0xf8]
mov dword [esi + 0x3c], eax
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x44], ebx
lea eax, [eax + edx - 8]
mov dword [esi + 0x44], eax
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x50], ebx
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x4c], eax
jmp 0x41f2d8
mov eax, dword [esi + 0x40]
test eax, eax
jne 0x41f27c
mov eax, dword [esi + 0x38]
mov dword [esi + 0x3c], eax
add eax, dword [esi + 0xf8]
mov dword [esi + 0x44], eax
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x44], ebx
mov eax, dword [esi + 0x44]
mov edx, dword [esi + 0x38]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], ebx
jmp 0x41f2d8
push 0x4a7
push str.for_backspace.c
push 2
push 8
call fcn.0041a850
add esp, 0x10
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x44], ebx
mov eax, dword [esi + 0x44]
mov edx, dword [esi + 0x38]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], ebx
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x4c]
mov eax, dword [esi + 0xe4]
dec edx
mov dword [ebp - 0x3c], edx
call fcn.00421220
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], edx
mov edx, eax
mov esi, edx
sub esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
mov ecx, eax
sbb ecx, dword [ebp - 0x50]
and edx, 0xfffffffe
mov dword [ebp - 0x4c], esi
or edx, eax
mov dword [ebp - 0x48], ecx
mov esi, dword [ebp - 0x10]
je 0x41f9dd
mov edx, 1
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x40]
cdq
mov edi, dword [ebp - 0x34]
mov ecx, edx
add edi, eax
mov eax, dword [ebp - 0x3c]
adc ecx, dword [ebp - 0x38]
sub edi, eax
cdq
sbb ecx, edx
mov eax, 1
sub edi, eax
or edi, ecx
je 0x4204f9
cmp dword [ebp - 0x40], 0
jl 0x420157
mov eax, dword [esi + 0x38]
add eax, dword [ebp - 0x40]
movzx edx, byte [eax]
cmp edx, 0x82
je 0x42012e
cmp dword [ebp - 0x50], 0
jne 0x41f377
cmp edx, 0x81
jne 0x42011f
cmp edx, 0x80
mov eax, dword [ebp - 0x40]
jl 0x41f387
mov edx, 0x80
sub eax, edx
add eax, 0xfffffffe
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x50], ebx
jmp 0x41f321
movzx eax, byte [esi + 0x173]
and eax, 0x80
shr eax, 7
mov dword [ebp - 0x54], eax
test eax, eax
je 0x41f420
cmp edx, 5
je 0x41f420
mov eax, dword [esi + 0x18]
test eax, eax
je 0x420896
test byte [eax + 0x44], 2
je 0x41f3f6
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x41f3e4
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [esi + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
test byte [esi + 0x175], 2
je 0x41f434
mov eax, dword [esi + 0x3c]
sub eax, dword [esi + 0x38]
mov dword [ebp - 0x48], eax
jmp 0x41f437
mov dword [ebp - 0x48], ebx
cmp edx, 5
jne 0x41f445
mov dword [ebp - 0x44], 1
jmp 0x41f4b7
mov eax, dword [ebp - 0x48]
cdq
mov ecx, dword [esi + 0xf8]
idiv ecx
test edx, edx
mov dword [ebp - 0x44], edx
jne 0x41f4b7
cmp dword [ebp - 0x54], 0
jne 0x41f465
mov eax, ecx
mov dword [ebp - 0x44], eax
jmp 0x41f4b7
mov eax, dword [esi + 0xe4]
call fcn.00421220
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov esi, dword [ebp - 0x10]
test byte [esi + 0x175], 2
je 0x41f48d
mov eax, dword [esi + 0x44]
sub eax, dword [esi + 0x3c]
mov dword [ebp - 0x54], eax
jmp 0x41f490
mov dword [ebp - 0x54], ebx
mov eax, dword [esi + 0xf8]
mov ecx, dword [ebp - 0x50]
cdq
sub ecx, eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
sbb eax, edx
mov dword [ebp - 0x4c], eax
jl 0x41f4ae
or ecx, dword [ebp - 0x4c]
jne 0x41f4b7
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x54]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x48]
jg 0x41f4ca
sub dword [esi + 0x3c], eax
mov esi, dword [ebp - 0x10]
jmp 0x41f9dd
neg eax
push eax
push esi
call fcn.0042bd30
add esp, 8
test eax, eax
je 0x41f9da
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4208b5
test byte [eax + 0x44], 2
je 0x41f528
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x41f516
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push 0
push esi
call fcn.0042bd30
add esp, 8
test eax, eax
je 0x41f5d5
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4208d4
test byte [eax + 0x44], 2
je 0x41f5ab
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x41f599
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0xe4]
call fcn.00421220
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
mov eax, dword [ecx + 0xe4]
call fcn.004211c0
mov esi, 0xffffffff
sub eax, esi
sub edx, esi
or eax, edx
je 0x420add
mov esi, dword [ebp - 0x10]
lea eax, [ebp - 0x50]
push 0
push eax
mov edx, dword [esi + 0xec]
mov ecx, dword [esi + 0x38]
push edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
push ecx
push dword [esi + 0xe4]
mov esi, 0xffffffff
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x420a3f
mov ecx, ebx
mov edx, dword [ebp - 0x20]
mov eax, ecx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x2c], edi
jmp 0x41f65c
mov dword [ebp - 0x4c], edi
mov ecx, edx
mov edx, ebx
mov eax, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x48]
movzx ecx, byte [eax + 1]
shl ecx, 8
movzx ebx, byte [eax]
or ebx, ecx
movsx edi, bx
lea ebx, [edi + 2]
add edi, 3
mov ecx, ebx
and ecx, 0x80000001
jge 0x41f68f
sub ecx, 1
or ecx, 0xfffffffe
inc ecx
test ecx, ecx
movzx ecx, byte [eax + 3]
jne 0x41f699
mov edi, ebx
shl ecx, 8
movzx ebx, byte [eax + 2]
or ebx, ecx
movsx ecx, bx
cmp ecx, 0x20
jae 0x41f6c4
mov ebx, 1
shl ebx, cl
test ebx, 0x400000c
mov esi, dword [ebp - 0x28]
je 0x41f6c1
mov esi, 1
mov dword [ebp - 0x28], esi
mov ebx, eax
sub ebx, dword [ebp - 0x20]
lea ecx, [edi + ebx + 4]
cmp ecx, dword [ebp - 0x24]
jle 0x41f768
mov esi, dword [ebp - 0x24]
sub ebx, esi
mov ecx, dword [ebp - 0x38]
add ebx, edi
mov dword [ebp - 0x34], ecx
jns 0x41f733
mov esi, ebx
add eax, edi
neg esi
mov ecx, dword [ebp - 0x20]
cmp ecx, eax
mov dword [ebp - 0x40], esi
lea esi, [ecx + esi]
mov dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x40]
jbe 0x4208f3
jb 0x41f71b
lea ecx, [esi + eax]
cmp ecx, dword [ebp - 0x20]
jbe 0x41f71b
push esi
push eax
push dword [ebp - 0x20]
mov dword [ebp - 0x30], edx
call fcn.0046c960
jmp 0x41f728
push esi
push eax
push dword [ebp - 0x20]
mov dword [ebp - 0x30], edx
call fcn.004b5f10
mov edx, dword [ebp - 0x30]
add esp, 0xc
neg esi
add esi, dword [ebp - 0x24]
push 0
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
push eax
push esi
push dword [ebp - 0x34]
push dword [ecx + 0xe4]
mov dword [ebp - 0x30], edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov edx, dword [ebp - 0x30]
test eax, eax
je 0x420901
mov ecx, dword [ebp - 0x20]
test ebx, ebx
lea eax, [ecx + ebx]
jg 0x41f76a
mov eax, ecx
jmp 0x41f76a
add eax, edi
add edx, edi
cmp dword [ebp - 0x28], 0
je 0x41f669
mov ecx, dword [ebp - 0x44]
add edx, ecx
mov edi, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x54]
adc edi, 0
xor ebx, ebx
sub esi, edx
mov dword [ebp - 0x48], eax
mov eax, ebx
sbb eax, edi
jl 0x41f799
or esi, eax
jne 0x41f657
mov eax, dword [ebp - 0x4c]
mov esi, 0xffffffff
mov edi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x10]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [edx + 0xe4]
xor edx, edx
call fcn.004211c0
sub eax, esi
sub edx, esi
or eax, edx
jne 0x41f9da
jmp 0x4209a1
mov dword [ebp - 0x2c], edi
mov eax, dword [esi + 0x50]
test eax, eax
je 0x420c19
cmp eax, dword [esi + 0x38]
je 0x420c19
movzx edx, byte [eax - 4]
movzx ecx, byte [eax - 3]
movzx edi, byte [eax - 2]
movzx eax, byte [eax - 1]
test byte [esi + 0x175], 0x20
je 0x41f810
shl edi, 8
shl ecx, 0x10
or eax, edi
shl edx, 0x18
or eax, ecx
or eax, edx
jl 0x41f82d
jmp 0x41f821
shl ecx, 8
shl edi, 0x10
or edx, ecx
shl eax, 0x18
or edx, edi
or eax, edx
jl 0x41f82d
movzx edx, byte [esi + 0x17a]
and edx, 0xffffffbf
jmp 0x41f839
movzx edx, byte [esi + 0x17a]
neg eax
or edx, 0x40
mov byte [esi + 0x17a], dl
lea esi, [eax + 8]
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x38]
neg ecx
mov edi, dword [edx + 0x50]
add ecx, edi
cmp ecx, esi
jb 0x41f870
sub edi, eax
add edi, 0xfffffff8
mov dword [edx + 0x50], edi
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x90]
lea eax, [eax + edx + 8]
mov dword [ecx + 0x90], eax
jmp 0x41f8d4
mov ecx, dword [edx + 0x90]
mov edi, ebx
lea esi, [eax + ecx + 8]
mov eax, ebx
sub edi, esi
mov dword [esp + 4], edi
sbb eax, 0
mov dword [esp + 8], eax
mov eax, dword [edx + 0xe4]
mov edx, 1
call fcn.004211c0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x420b7b
mov eax, dword [ebp - 0x10]
and byte [eax + 0x175], 0xfd
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x50], ebx
mov ecx, dword [ebp - 0x10]
mov esi, dword [ecx + 0x38]
mov dword [ecx + 0x44], esi
mov edi, dword [ebp - 0x10]
mov dword [edi + 0x3c], esi
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x90], ebx
mov esi, dword [ebp - 0x10]
test byte [esi + 0x17a], 0x40
jne 0x41f7d0
mov edi, dword [ebp - 0x2c]
jmp 0x41f9dd
mov eax, dword [esi + 0x38]
neg eax
mov ecx, dword [esi + 0x3c]
add eax, ecx
cdq
mov dword [ebp - 0x54], ecx
mov ecx, dword [esi + 0xf8]
mov dword [ebp - 0x4c], eax
idiv ecx
test edx, edx
je 0x41f90b
mov ecx, edx
mov dword [ebp - 0x50], ecx
cmp ecx, dword [ebp - 0x4c]
jg 0x41f94c
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x50]
mov dword [esi + 0x3c], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x50]
test edx, edx
mov eax, dword [ecx + 0x90]
je 0x420ecf
add edx, eax
sub edx, dword [ecx + 0x3c]
mov dword [ecx + 0x90], edx
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x3c]
mov dword [edx + 0x50], eax
mov esi, dword [ebp - 0x10]
jmp 0x41f9dd
mov eax, ecx
neg eax
push eax
push esi
call fcn.0042bd30
add esp, 8
test eax, eax
je 0x41f9da
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0xe4]
call fcn.00421220
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
mov eax, dword [ecx + 0xe4]
call fcn.004211c0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x42102f
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x54]
mov edx, dword [ebp - 0x50]
push 0
sub edx, dword [ecx + 0x90]
push eax
push edx
push dword [ecx + 0x38]
push dword [ecx + 0xe4]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x420f91
jmp 0x41f9da
push 0x657
push str.for_backspace.c
push 2
push 8
call fcn.0041a850
add esp, 0x10
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov dword [esi + 0x98], eax
mov dword [esi + 0x9c], edx
mov ecx, dword [ebp - 0x10]
and byte [ecx + 0x177], 0xfb
mov esi, dword [ebp - 0x10]
movzx edx, byte [esi + 0x170]
and edx, 4
shr edx, 2
jmp 0x41e4b0
cmp dword [esi + 0x13c], 7
jne 0x41fa27
movsx edx, byte [esi + 0x15c]
cmp edx, 5
je 0x41efeb
mov eax, 1
sub dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x18]
sbb edx, ebx
mov dword [ebp - 0x18], edx
jl 0x41fa41
mov eax, dword [ebp - 0x14]
or eax, dword [ebp - 0x18]
jne 0x41fa53
movzx edx, byte [esi + 0x170]
and edx, 4
shr edx, 2
jmp 0x41e4b0
push 0
push esi
call fcn.0042bd30
add esp, 8
test eax, eax
je 0x41fad6
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4210cd
test byte [eax + 0x44], 2
je 0x41faac
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x41fa9a
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
mov eax, dword [ecx + 0xe4]
call fcn.004211c0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x4210ec
mov eax, dword [ebp - 0x10]
add dword [eax + 0x98], 0xffffffff
adc dword [eax + 0x9c], 0xffffffff
mov edx, dword [ebp - 0x10]
and byte [edx + 0x177], 0xfb
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0xd0], ebx
mov dword [ecx + 0xd4], ebx
mov esi, dword [ebp - 0x10]
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0xc0], ebx
mov dword [eax + 0xc4], ebx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xc8], ebx
mov dword [edx + 0xcc], ebx
mov esi, dword [ebp - 0x10]
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0xf0], ecx
mov esi, dword [ebp - 0x10]
movzx edx, byte [esi + 0x170]
and edx, 4
shr edx, 2
jmp 0x41e4b0
push esi
push 0x108
push 0x17
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xe4]
call fcn.00421220
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x90]
sub dword [ebp - 0x48], eax
cmp byte [edx + 0x15e], 2
je 0x4200bf
mov dword [ebp - 0x50], ebx
mov ecx, dword [edx + 0xec]
cmp ecx, dword [ebp - 0x48]
jb 0x41fc09
mov ecx, dword [ebp - 0x48]
sub ecx, dword [ebp - 0x50]
mov eax, dword [edx + 0xe4]
xor edx, edx
dec ecx
mov dword [ebp - 0x48], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.004211c0
jmp 0x41fc41
mov dword [ebp - 0x2c], edi
mov esi, dword [ebp - 0x50]
add eax, esi
mov edi, ecx
sub edi, esi
mov esi, ebx
lea ecx, [edi - 1]
mov dword [ebp - 0x48], ecx
mov ecx, ebx
add eax, edi
sub ecx, eax
mov dword [esp + 4], ecx
sbb esi, 0
mov dword [esp + 8], esi
mov eax, dword [edx + 0xe4]
mov edx, 1
mov edi, dword [ebp - 0x2c]
call fcn.004211c0
mov dword [ebp - 0x54], eax
mov eax, 0xffffffff
mov ecx, edx
mov esi, dword [ebp - 0x54]
sub ecx, eax
sub esi, eax
or esi, ecx
je 0x420021
mov ecx, dword [ebp - 0x10]
lea esi, [ebp - 0x4c]
mov eax, dword [ebp - 0x54]
push ebx
mov dword [ecx + 0xc0], eax
mov dword [ecx + 0xc4], edx
mov edx, dword [ebp - 0x10]
push esi
mov dword [edx + 0xd0], ebx
mov dword [edx + 0xd4], ebx
mov eax, dword [ebp - 0x10]
push dword [ebp - 0x48]
push dword [eax + 0x38]
push dword [eax + 0xe4]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x41ff83
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x4c]
cdq
mov esi, dword [ecx + 0xc0]
add esi, eax
mov dword [ecx + 0xc8], esi
adc edx, dword [ecx + 0xc4]
mov dword [ecx + 0xcc], edx
test eax, eax
mov esi, dword [ebp - 0x10]
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0xf0], ecx
mov edx, dword [ebp - 0x10]
jne 0x41fd58
test byte [edx + 0x170], 4
je 0x41fce7
cmp dword [ebp - 0x48], 0
je 0x41fd58
mov eax, dword [edx + 0x18]
test eax, eax
je 0x41fe0a
test byte [eax + 0x44], 2
je 0x41fd2e
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x41fd1c
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx ecx, byte [edx + 0x174]
push eax
and ecx, 7
push ecx
push 0xffffffffffffffff
push edx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x48]
dec eax
mov dword [ebp - 0x54], eax
js 0x41fd78
mov ecx, dword [edx + 0x38]
mov esi, eax
mov eax, dword [ebp - 0x44]
cmp al, byte [esi + ecx]
je 0x41ff21
dec esi
jns 0x41fd69
mov dword [ebp - 0x54], esi
mov eax, dword [edx + 0xe4]
call fcn.00421220
mov ecx, dword [ebp - 0x10]
test byte [ecx + 0x170], 4
je 0x41fd99
cmp dword [ebp - 0x54], 0xffffffff
je 0x41fe29
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x41ff02
test byte [eax + 0x44], 2
je 0x41fde0
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x41fdce
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push edx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
cmp eax, dword [ecx + 0xec]
ja 0x41fd99
mov eax, dword [ebp - 0x48]
neg eax
cdq
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov edx, 1
mov eax, dword [ecx + 0xe4]
call fcn.004211c0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
jne 0x41f9da
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x41fee3
test byte [eax + 0x44], 2
je 0x41feb9
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x41fea7
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x54], esi
mov ebx, esi
mov ecx, ebx
mov esi, dword [ebp - 0x50]
neg ecx
mov eax, dword [ebp - 0x48]
sub eax, esi
lea ecx, [ecx + eax - 1]
mov dword [edx + 0x90], ecx
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x38]
lea esi, [esi + edx + 1]
add ebx, esi
mov dword [ecx + 0x50], ebx
mov ebx, dword [ebp - 0x10]
or byte [ebx + 0x175], 2
xor ebx, ebx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x50]
sub eax, dword [ecx + 0x38]
mov esi, dword [ecx + 0xc0]
cdq
add esi, eax
mov dword [ecx + 0xb8], esi
adc edx, dword [ecx + 0xc4]
mov dword [ecx + 0xbc], edx
mov esi, dword [ebp - 0x10]
jmp 0x41f9dd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x420002
test byte [eax + 0x44], 2
je 0x41ffd8
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x41ffc6
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4200a0
test byte [eax + 0x44], 2
je 0x420076
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x420064
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
movsx ecx, byte [edx + 0x15c]
cmp ecx, 6
je 0x41fbda
cmp ecx, 8
je 0x41fbda
mov dword [ebp - 0x50], 1
jmp 0x41fbdd
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x38]
movzx eax, byte [ebp - 0x53]
mov byte [edx + 2], 1
mov ecx, dword [esi + 0x38]
mov byte [ecx + 3], al
mov eax, dword [esi + 0x38]
add eax, 4
jmp 0x41f205
mov edi, dword [ebp - 0x2c]
inc eax
mov dword [esi + 0x3c], eax
mov esi, dword [ebp - 0x10]
jmp 0x41f9dd
dec dword [ebp - 0x40]
movzx eax, byte [esi + 0x174]
test al, 0x20
je 0x41f321
and eax, 0xffffffdf
mov byte [esi + 0x174], al
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x2c]
mov eax, dword [esi + 0x38]
add eax, dword [ebp - 0x40]
jmp 0x420122
mov ecx, dword [ebp - 0x34]
mov eax, dword [esi + 0xec]
sub ecx, dword [esi + 0xec]
cdq
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x34], ecx
sbb edi, edx
mov dword [ebp - 0x38], edi
jl 0x42017b
mov eax, ecx
or eax, dword [ebp - 0x38]
jne 0x4201a9
xor edx, edx
mov dword [esp + 4], ebx
mov eax, dword [esi + 0xe4]
mov dword [esp + 8], ebx
call fcn.004211c0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x4202a4
mov dword [ebp - 0x54], ebx
jmp 0x420255
mov ecx, dword [ebp - 0x4c]
xor edx, edx
mov dword [esp + 4], ecx
mov edi, dword [ebp - 0x48]
mov eax, dword [esi + 0xe4]
mov dword [esp + 8], edi
call fcn.004211c0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x42045b
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0xec]
mov dword [ebp - 0x54], eax
cdq
sub eax, dword [ebp - 0x4c]
sbb edx, dword [ebp - 0x48]
jge 0x4201f3
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x48]
sbb edx, ebx
jge 0x42020b
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
jmp 0x42020e
mov dword [ebp - 0x54], ebx
mov esi, ebx
mov edi, ebx
sub esi, dword [ebp - 0x4c]
mov eax, dword [ecx + 0xe4]
sbb edi, dword [ebp - 0x48]
mov edx, 1
mov dword [esp + 4], esi
mov dword [esp + 8], edi
call fcn.004211c0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x4203bd
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0xe4]
call fcn.00421220
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x10]
push ebx
push ebx
and byte [eax + 0x175], 0xfd
push dword [ebp - 0x10]
call fcn.00431950
add esp, 0xc
test eax, eax
jne 0x420342
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0xe4]
call fcn.00421220
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], edx
mov esi, dword [ebp - 0x10]
mov ecx, dword [esi + 0x44]
sub ecx, dword [ebp - 0x54]
mov eax, dword [esi + 0x38]
sub ecx, eax
add dword [ebp - 0x40], ecx
lea edx, [ecx - 1]
mov dword [ebp - 0x3c], edx
jmp 0x41f353
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x420323
test byte [eax + 0x44], 2
je 0x4202f9
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x4202e7
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x4203a3
test byte [edx + 0x44], 2
je 0x42037e
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov esi, dword [ebp - 0x10]
mov edx, dword [esi + 0x64]
test edx, edx
je 0x420371
mov dword [edx + 4], ebx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], ebx
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x42043c
test byte [eax + 0x44], 2
je 0x420412
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x420400
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4204da
test byte [eax + 0x44], 2
je 0x4204b0
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x42049e
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x2c]
cmp dword [ebp - 0x40], 0
jl 0x42050d
mov eax, dword [ebp - 0x40]
add eax, dword [esi + 0x38]
jmp 0x420122
mov ecx, dword [ebp - 0x34]
mov eax, dword [esi + 0xec]
sub ecx, dword [esi + 0xec]
cdq
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], ecx
sbb eax, edx
mov dword [ebp - 0x38], eax
jl 0x420531
mov eax, ecx
or eax, dword [ebp - 0x38]
jne 0x42055f
xor edx, edx
mov dword [esp + 4], ebx
mov eax, dword [esi + 0xe4]
mov dword [esp + 8], ebx
call fcn.004211c0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x4206a2
mov dword [ebp - 0x54], ebx
jmp 0x420606
mov ecx, dword [ebp - 0x4c]
xor edx, edx
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x48]
mov dword [esp + 8], eax
mov eax, dword [esi + 0xe4]
call fcn.004211c0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x4207f8
mov eax, dword [ebp - 0x10]
mov ecx, ebx
mov edx, dword [eax + 0xec]
mov dword [ebp - 0x54], edx
sub edx, dword [ebp - 0x4c]
sbb ecx, dword [ebp - 0x48]
jge 0x4205aa
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], ebx
mov edx, dword [ebp - 0x4c]
sub edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x48]
sbb ecx, ebx
jge 0x4205c2
mov edx, dword [ebp - 0x54]
sub edx, dword [ebp - 0x4c]
mov dword [ebp - 0x54], edx
jmp 0x4205c5
mov dword [ebp - 0x54], ebx
mov ecx, ebx
mov esi, ebx
sub ecx, dword [ebp - 0x4c]
mov eax, dword [eax + 0xe4]
sbb esi, dword [ebp - 0x48]
mov edx, 1
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.004211c0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x42075a
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0xe4]
call fcn.00421220
mov eax, dword [ebp - 0x10]
push ebx
push ebx
and byte [eax + 0x175], 0xfd
push dword [ebp - 0x10]
call fcn.00431950
add esp, 0xc
test eax, eax
je 0x420686
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x420740
test byte [edx + 0x44], 2
je 0x420661
mov dword [edx + 0x38], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x18]
mov dword [ecx + 0x3c], eax
mov esi, dword [ebp - 0x10]
mov edx, dword [esi + 0x64]
test edx, edx
je 0x420654
mov dword [edx + 4], ebx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x64], ebx
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x54]
mov edx, dword [esi + 0x44]
neg edx
mov eax, dword [esi + 0x38]
add edx, eax
sub ecx, edx
add eax, ecx
jmp 0x420122
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x420721
test byte [eax + 0x44], 2
je 0x4206f7
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x4206e5
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4207d9
test byte [eax + 0x44], 2
je 0x4207af
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x42079d
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x420877
test byte [eax + 0x44], 2
je 0x42084d
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x42083b
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push esi
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
cmp eax, dword [ebp - 0x34]
jb 0x41f70c
jmp 0x4211a4
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x420982
test byte [eax + 0x44], 2
je 0x420958
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x420946
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x420a20
test byte [eax + 0x44], 2
je 0x4209f6
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x4209e4
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x420abe
test byte [eax + 0x44], 2
je 0x420a94
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x420a82
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x420b5c
test byte [eax + 0x44], 2
je 0x420b32
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x420b20
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x420bfa
test byte [eax + 0x44], 2
je 0x420bd0
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x420bbe
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xec]
neg eax
push eax
push esi
call fcn.0042bd30
add esp, 8
test eax, eax
je 0x420c98
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0xe4]
call fcn.00421220
mov edi, eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
mov eax, dword [ecx + 0xe4]
call fcn.004211c0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
je 0x420d93
mov ecx, dword [ebp - 0x10]
lea edx, [ebp - 0x48]
push ecx
push dword [ecx + 0x144]
push ebx
push ebx
mov eax, dword [ecx + 0x90]
sub edi, eax
push edx
push edi
push dword [ecx + 0x38]
push dword [ecx + 0xe4]
call fcn.00432ca0
add esp, 0x20
test eax, eax
je 0x420cf5
jmp 0x420cc7
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x48]
push edx
push dword [edx + 0x144]
push ebx
push ebx
push eax
push dword [edx + 0xec]
push dword [edx + 0x38]
push dword [edx + 0xe4]
call fcn.00432ca0
add esp, 0x20
test eax, eax
je 0x420e31
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x48]
add eax, dword [edx + 0x38]
mov dword [edx + 0x50], eax
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x90], 0
mov esi, dword [ebp - 0x10]
or byte [esi + 0x175], 2
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x50]
jmp 0x41f7e4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x420d74
test byte [eax + 0x44], 2
je 0x420d4a
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x420d38
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x420e12
test byte [eax + 0x44], 2
je 0x420de8
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x420dd6
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x420eb0
test byte [eax + 0x44], 2
je 0x420e86
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x420e74
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x41f930
mov eax, dword [ecx + 0xf8]
mov dword [ecx + 0x90], eax
mov edx, dword [ebp - 0x10]
push 0
or byte [edx + 0x175], 2
push dword [ebp - 0x10]
call fcn.0042bd30
add esp, 8
test eax, eax
je 0x41f93b
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x420f72
test byte [eax + 0x44], 2
je 0x420f48
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x420f36
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x421010
test byte [eax + 0x44], 2
je 0x420fe6
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x420fd4
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4210ae
test byte [eax + 0x44], 2
je 0x421084
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x421072
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x42116b
test byte [eax + 0x44], 2
je 0x421141
mov edx, 0x17
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x42112f
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], ebx
mov eax, 0x17
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, 0x17
push eax
movzx edx, byte [ecx + 0x174]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push ecx
call fcn.0042ecb0
add esp, 0x14
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
mov eax, 0x17
push eax
push eax
push 1
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
push ecx
push eax
push eax
push 0
call fcn.004187a0
add esp, 0x10
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
cmp ecx, eax
jae 0x41f704
jmp 0x41f71b